使用char数组的SizeOf函数

Nis*_*mar 4 c arrays sizeof

void main()
{
   char s[]="\12345s\n";
   printf("%d",sizeof(s));
}
Run Code Online (Sandbox Code Playgroud)

当我编译它给它6.我不知道为什么它给6个insted 8.喜欢 {'\1','2','3','4','5','s','\n'}

任何人都可以告诉我这个原因,我想要一些深刻而明确的解释.我会感谢他们.

And*_*rsK 12

因为\123被认为是一个字符,所以它是一个转义序列(八进制).因此,sizeof计算5个字符'\123','4','5','s','\n',和结局'\0'.