C++ 关于while(cin>>n)的问题

2024-11-29 11:04:33
推荐回答(4个)
回答1:

#include "iostream"
using namespace std;
int main()
{
int N;
while(cin>>N)
{
}
cout<return 0;
}
这样就可以
将N定义为int类型,只要输入非数字字符,就会结束循环

只要输入类型和N匹配,那么cin就返回真,while循环就会一直继续下去

回答2:

1、运行到这句时,等待用户输入。
2、如果用户输入的n的值不为0,则进入循环。
3、如果用户输入的n的值为0,则结果循环。

回答3:

EOF是一个宏,使用int型的变量去保存输入值,与之比较。。。。使用char值保存EOF输入值会溢出。。。一般EOF的值是-1
表示一个流读结束了。
对于一个文件来说,读尽最后一个字节算做结束。
对于标准输入(也就是一般的键盘输入),需要人为的产生一个EOF,告诉系统输入结束了。Unix/Linux下一般使用Ctrl+d,Dos/Windows下是Ctrl+z
注意:
还要加一个回车
……
我用你的程序试了一遍没有问题,按
Ctrl+z
组合键;
另外既然包含了iostream,输出换行可以使用
cout<

追问:

老师说用noskipws和skipws时eof不行,得用ctrl+z才能退出循环,难道是他讲错了?

追答:

http://msdn.microsoft.com/zh-cn/library/98bsd5x4(v=VS.90).aspx
http://msdn.microsoft.com/zh-cn/library/ttf4txbf(v=VS.90).aspx
什么叫EOF不行?反正你这样写是对的,同时需要手动生成一个EOF输入值的时候,按照我上面说的,ctrl
+
z,等价于输入一个EOF,会终止循环。
你老师的具体原话是什么。。。。我不能再不清楚情况的时候给你解答~~怕误导你

评论
0

0

加载更多

回答4:

while(cin>>N)
{
if(N==13)break;//N是整型的
}