while语句程序问题求助
1、以下是我打的程序:#include <stdio.h>
int main()
{
int i = 0;
int ch;
printf("请输入一句英文:") ; //输入的英文是:I love FishC.com
while(getchar()!='\n')
{
ch=getchar();
if(65<=ch&&ch<=90)
{
i=i+1;
}
}
printf("您输入的大写字母的个数为:%d\n",i);
return 0;
}
为什么输入的答案是2个?
小甲鱼的答案是:
#include <stdio.h>
int main()
{
int i = 0;
int ch;
printf("请输入一句英文:") ;//输入的英文是:I love FishC.com
while((ch=getchar())!='\n')
{
if(65<=ch&&ch<=90)
{
i=i+1;
}
}
printf("您输入的大写字母的个数为:%d\n",i);
return 0;
}
输出的答案是:3个。
为啥结果不一样呢? 因为你的程序在while()那里执行了一次getcgar()然后在ch=getchar()那里又执行了一次getchar(),所以丢失了一半的输入 谢谢,之前乌云密布,看了大侠的回答,茅塞顿开!
页:
[1]