不多说开门见山,看看题再说:
请问以下代码的输出结果为多少?
#include<stdio.h>
#include<string.h>
intmain(void)
{
char a[1000];
for(int i=0;i<1000;i++)
{
a[i]= -1-i;
}
printf("%d",strlen(a));
return 0;
}
输出结果为:255,哈哈,被搞晕了吧。
看看数组存放的内容再说:
中间略过
从数组可以看出结果了吧,哈哈,带符号字符的范围为-128-127,并且strlen()遇到‘\0’就结束,在数组255的地方就是0,所以会在这里结束,不奇怪了吧,哈哈。