我有这段代码
whitespaces是一个int类型,所以我可以使用getchar函数
do
{
...code...
whitespaces=getchar();}
while ( whitespaces != (EOF) || whitespaces!='\n');
但是当我按下CTRL + Z(我正在使用Windows 7)时它不会退出循环
我做错了什么?
编辑:谢谢你们所有人......!非常有帮助答案 0 :(得分:5)
您必须在&&
条件下使用||
代替while
。
答案 1 :(得分:1)
您的情况不正确:
while ( whitespaces != (EOF) && whitespaces!='\n');
A \ n将自动与EOF不同,反之亦然。
答案 2 :(得分:1)
尝试将||
更改为&&
。现在,如果whitespaces
等于EOF
,则它不是换行符,因此while条件始终为true。这可能不是你想要的。