绿源电动车外壳多少钱:C语言统计字符有多少个程序!请详解。

来源:百度文库 编辑:杭州交通信息网 时间:2020/08/07 19:48:22
main()
{
char s[20];
char *p;
printf("Please input a string (less than 20 character):\n");
scanf("%s",s);
p=s;
while(*p!='\0')
p++;
printf("The string length is %d\n",p-s);
getch();
}
实现看不明白,我输入50字符,程序能准确算出,但是数据得[20]个。不明白!我输入50个字符。请详解。
输入50个字符依然可以统计出来!请问这是怎么回事。

char s[20]最多只给这个字符串分配了21个字符的空间,如果你输入的字符数大于20,系统会自动在s[19]后面加一个终止符,即让s[20]='\0'.
而while(*p!='\0')语句在p指向终止符时结束,所以当p指向s[20]时,循环结束,所以当你输入字符超过20个时,它得出的总是20。