绝对让你抓狂的结果.自己运行下就纠结了!
程序代码:
#include <stdio.h> #include "string.h" int main(void) { int n=0; char y[ ]="this_is_an_example."; char *s=&y[6]; while(*s){ n++; s++; } printf("%d\n",n); return 0; }运行下 ,结果是13
再运行下面这个
程序代码:
#include <stdio.h> #include "string.h" int fun(char *s) { int n=0; while(*s){ n++;s++ ;} return n ; } int main(void) { char y[ ]="this is_an_example。"; //注意这里的句号和上面的句号不同,为什么句号要分两次运行 ! 求大神指教 printf("%d\n",fun(&y[6])); return 0; }