程序很简单,但是错的很神奇。错的很奇葩。
代码如下:#include <stdio.h>
int main(void)
{
int i;
char *p,c[20];
for(int j=0;(c[j]=getchar())!='\n';j++);
p=c;
for(i=0;*(p+i)!='\0';i++)
;
printf("%d \n",i);
return 0;
}
程序目的是不用strlen测出输入字符的长度, 我用scanf("%s",c);成功实现, 不过换成那个第六行的for语句后不管输入什么最后i输出都是23.。。这是为什么呢- -
这次真迷茫了。。