[求助]为什么结果是4?
#include <stdio.h>int main(void)
{
char a[3]={1,2,3};
printf("%d",sizeof(a+1));
getchar();
}
2007-10-28 16:56

2007-10-28 17:14
2007-10-28 17:43
2007-10-28 17:47
2007-10-28 18:16
sizeof(a)和sizeof(a+1)是不一样。前者是字符串a的长度,后者则是一个char型指针所占字节数。
另外:
这里如果写strlen(b)则输出结果为7.
如果这样:
char a[3]={"12345"};
则sizeof(a)=6 strlen(a)=5

2007-10-28 18:18

2007-10-28 18:41
2007-10-28 19:50
2007-10-28 20:00
2007-10-28 20:22