C++ 关于while(cin>>n)的问题
while(cin>>N){}cout<<N;为什么不能输出N而是要无限输入?输入空格也不能结束while循环如果要按回车直接结束循环要怎么做?...
while(cin>>N)
{
}
cout<<N;
为什么不能输出N
而是要无限输入?
输入空格也不能结束while 循环
如果要按回车直接结束循环
要怎么做? 展开
{
}
cout<<N;
为什么不能输出N
而是要无限输入?
输入空格也不能结束while 循环
如果要按回车直接结束循环
要怎么做? 展开
4个回答
展开全部
1、运行到这句时,等待用户输入。
2、如果用户输入的n的值不为0,则进入循环。
3、如果用户输入的n的值为0,则结果循环。
2、如果用户输入的n的值不为0,则进入循环。
3、如果用户输入的n的值为0,则结果循环。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
加载更多
表示一个流读结束了。
对于一个文件来说,读尽最后一个字节算做结束。
对于标准输入(也就是一般的键盘输入),需要人为的产生一个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
加载更多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while(cin>>N)
{
if(N==13)break;//N是整型的
}
{
if(N==13)break;//N是整型的
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询