为什么把ch=getchar()单独写出来运行的结果才对,而把ch=getchar()写到while循环的括号里面输出错误
int main()
{
char ch;
int a=0;
ch=getchar();
while(ch!='#')
{
if(ch=='e')
{
ch=getchar();
if(ch=='i')
{
a++;
}
}
else
ch=getchar();
}
printf("there are %d ei",a);
return 0;
}
写为while((ch=getchar())!='#')
运行结果为0;
这样你每次循环会执行两次getchar()了啊
while语句每次回getchar()一次,然后后面的if...else代码块也会执行一次getchar(),这个肯定就不对了。放在while前面,只会在循环开始前先输入一个ch字符,后面每次循环只会输入一次字符,这个是符合你代码逻辑的
你倒是把你出错的代码贴出来啊,while((ch=getchar())!='#'),这句话是没有问题的,问题就出现在你其他的逻辑上
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!