请帮忙看下哪里的问题,感觉跳不出循环
本帖最后由 salv 于 2021-7-9 20:08 编辑#include<stdio.h>
int main()
{
int i=0;
char c;
while(1)
{
c='\0'; /*变量赋初值*/
while(c!=13 && c!=27) /*键盘接收字符直到按回车或ESC键*/
{
c=getchar();
printf("%c\n",c);
}
if(c==27)
break; /*判断若按Esc键刚退出循环*/
i++;
printf("The No. is %d\n", i);
}
printf("The end");
return 0;
}
退不出循环,也实现不了计次,请帮忙看下哪里的问题,谢谢了 while条件的问题吧,你这任何时候都是正确的呀,不就一直循环出不来了吗? 连帅帅 发表于 2021-7-9 17:24
while条件的问题吧,你这任何时候都是正确的呀,不就一直循环出不来了吗?
我这个连里边的循环也退不出,按了回车或者ESC没反应退不出 #include<stdio.h>
int main(void){
int ch;
int i=0;
while( (ch= getchar() )!=27){
i++;
putchar(ch);
}
printf("%d \n",i);
return 0;
}
这样不就行了
i=i++;
另外 你这是什么操作。。。 万千只cnm 发表于 2021-7-9 19:57
这样不就行了
另外 你这是什么操作。。。
。。。{:5_109:}这个我写错了,i++,或者i=i+1 while(c!=13 || c!=27)
非的话 联结词也要非呀。
&& 万千只cnm 发表于 2021-7-9 19:57
这样不就行了
另外 你这是什么操作。。。
你试下我那个代码哪里有毛病,我想着要实现输入几个字母然后按一次回车,分行输出单个字母,然后计数一次,输出The No. is 1,再输入字母然后按回车再计数一次,输出The No. is 2,以此类推,直到按ESC就退出,然后输出the end。我感觉按了回车以后就跳不出里边的循环。 万千只cnm 发表于 2021-7-9 20:04
非的话 联结词也要非呀。
&&
是的是的{:5_109:} salv 发表于 2021-7-9 20:07
你试下我那个代码哪里有毛病,我想着要实现输入几个字母然后按一次回车,分行输出单个字母,然后计数一次 ...
你改了 &&不就能跳出来了。
你代码写的太多余了。。。 万千只cnm 发表于 2021-7-9 20:12
你改了 &&不就能跳出来了。
你代码写的太多余了。。。
改过了,跳不出,按回车后字母分行显示,可以继续输入,但是没有输出那行the No. is i,按ESC没有反应
页:
[1]