#include<stdio.h>
int fun(char *s)
{
char *p=s;
while(*p++!=0);
return(p-s);
}
void main()
{
char *r="3210";
printf("%d",fun(r));
}
while循环会将p指针移动到字符串r的结束字符0的下一个字符。
*p++ != 0 这一句是先将*p与0对比,再p=p+1,所以循环结束后p指的是'\0'的后一位不知道是什么的地方
用*(++p)就没问题了
应该是字符‘0’吧,不是数字0,把0加上单引号