0

我知道一个字符串的长度应该是 n+1,但由于某种原因,我的程序将 sizeof(string) 打印为 n-2。

#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;
} 

谁能解释为什么?

4

1 回答 1

6

你在打印i,不是x
i从未初始化,因此您会得到未定义的行为。

于 2013-10-07T19:16:55.950 回答