문자열의 길이가 n + 1이어야한다는 것을 알고 있습니다. 그러나 어떤 이유로 프로그램이 sizeof (string)을 n-2로 인쇄하고 있습니다.C - sizeof (string) 결과가 작아야합니다.
#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