#include main(void) { char ch; while (1) { if ((ch = getchar()) != EOF) { break; } putchar(ch); } return 0; }
我怎么逃避呢? 我曾尝试使用EOF,但它没有用。
我想你的意思是:
int ch;
因为EOF
不适合char
。
也:
if ((ch=getchar()) == EOF) break;
你的逻辑是倒退的。
这个:
char ch;
是错的, EOF
不适合char
。 getchar()
的返回值类型是int
所以这段代码应该是:
int ch;
另外,正如所指出的那样,你的逻辑是倒退的。 它循环而ch
不是EOF
,所以你可以把它放在while
:
while((ch = getchar()) != EOF)
与时间检查。 这更简单
while((ch=getchar())!= EOF) { putchar(ch); }
EOF用于指示文件的结尾。 如果您正在从stdin中读取字符,则可以通过输入以下内容来停止此循环:
例
while((ch=getchar()) != 0x1b) { // 0x1b is the ascii of ESC putchar(ch); }
以上就是c/c++开发分享如何退出while循环?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/560419.html