#include
void main()
{
char a[6]="nihao";
char *p=a;
int k=1;
while(*p!='/0')
{
k++;
p++;
}
printf("%d",k);
}
这个程序到底哪里有问题?
数组结束符不对,可以改一下
//数组用
char a[6]={'n','i','h','a','o','\0'};
//循环
while(*p!='\0')
while(*p!='/0')
->
while(*p!='\0')
这种问题,单步调试一下肯定可以找到原因的。
调试,对于程序员来说是必要的功夫。
调试时通过观察变量的当前值,就会发现在字符串遍历结束时,没有字符串结束符 NULL。