#include <stdio.h>
int main()
{
char *s =“abcdfe”;
char *x =s;
while(*x++);
printf("%d\n",x-s-1);
return 0;
}
这个可以求字符串的长度,我一度认为跳出循环后,x就不会++了,但是想到x是在main函数里面的,所有x在此作用域还是有效的会判断后再自加,如果用++i就不用减1了,比第一个字符大多少正好包含了\0,加上了第一个字符就是字符串的长度。
#include <stdio.h>
int main()
{
char *s =“abcdfe”;
char *x =s;
while(*x++);
printf("%d\n",x-s-1);
return 0;
}
这个可以求字符串的长度,我一度认为跳出循环后,x就不会++了,但是想到x是在main函数里面的,所有x在此作用域还是有效的会判断后再自加,如果用++i就不用减1了,比第一个字符大多少正好包含了\0,加上了第一个字符就是字符串的长度。