我知道一個字符串應該是n + 1的長度,但由於某種原因,我的程序將sizeof(字符串)打印爲n-2。C-sizeof(字符串)結果小於它應該是
#include <stdio.h>
#include <stdlib.h>
int main()
{
char name [] = "Tom";
int x = sizeof(name);
int i;
printf("sizeof(name) = %d\n", i);
for(i = 0; i < x; i++)
{
printf("Character at %d is %c\n", i, name[i]);
}
return 0;
}
任何人都可以解釋爲什麼嗎?
您正在打印未初始化的'i'的值。 –
閱讀你的編譯器警告。 – SLaks