我有这样的代码不能得到EOF退出do while循环,在使用getchar()
空格是一个int类型,所以我可以使用getchar函数
do
{
...code...
whitespaces=getchar();}
while (whitespaces != (EOF) || whitespaces!='\n');
但它不退出当我打CTRL + Z循环(我正在使用Windows 7)
我做错了什么?
编辑:谢谢你,你们所有人......!非常有帮助
我有这样的代码不能得到EOF退出do while循环,在使用getchar()
空格是一个int类型,所以我可以使用getchar函数
do
{
...code...
whitespaces=getchar();}
while (whitespaces != (EOF) || whitespaces!='\n');
但它不退出当我打CTRL + Z循环(我正在使用Windows 7)
我做错了什么?
编辑:谢谢你,你们所有人......!非常有帮助
尝试将||
更改为&&
。现在,如果whitespaces
等于EOF
,它不是换行符,所以while条件始终为真。这大概不是你想要的。
你的条件是不正确:
while (whitespaces != (EOF) && whitespaces!='\n');
一个\ n将自动比EOF不同,反之亦然。
哦,我的得到了......我明白了!谢谢!! – YNWA 2012-04-17 19:59:13