方法一:
#include <stdio.h>
int main()
{
char str[80];
char *p;
gets(str);
p=str;
while(*p!='\0')
p++;
printf("%d",p-str);
return 0;
}
方法二:
#include <stdio.h>
int main()
{
char str;
int i=0;
str=getchar();
while(str!='\n')
{
i++;
str=getchar();
}
printf("%d",i);
return 0;
}
那么问题来了!
前两个是可以得出结果的正确程序,那我把两种方法结合一下变成如下
#include <stdio.h>
int main()
{
char str[80];
int i=0;
char *p;
gets(str);
p=str;
while(*p!='\0')
i++;
printf("%d",i);
return 0;
}
就是在数组和指针的基础上使用一个无关变量 i 来计数,怎么程序可以运行但是回车后不出来结果呢?
#include <stdio.h>
int main()
{
char str[80];
char *p;
gets(str);
p=str;
while(*p!='\0')
p++;
printf("%d",p-str);
return 0;
}
方法二:
#include <stdio.h>
int main()
{
char str;
int i=0;
str=getchar();
while(str!='\n')
{
i++;
str=getchar();
}
printf("%d",i);
return 0;
}
那么问题来了!
前两个是可以得出结果的正确程序,那我把两种方法结合一下变成如下
#include <stdio.h>
int main()
{
char str[80];
int i=0;
char *p;
gets(str);
p=str;
while(*p!='\0')
i++;
printf("%d",i);
return 0;
}
就是在数组和指针的基础上使用一个无关变量 i 来计数,怎么程序可以运行但是回车后不出来结果呢?