C++ while(cin >> n)求助

有一个疑问,其中比如我输入1234,while是输入一个数值就直接调用一个数值还是等我输完以后一次性读入。while(cin>>n){cout<<n<<endl;}... 有一个疑问,其中比如我输入 1 2 3 4,while是输入一个数值就直接调用一个数值还是等我输完以后一次性读入。

while(cin >> n)
{
cout << n << endl;
}
展开
 我来答
bhtzu
2014-10-25 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4205万
展开全部
cin是回车时候处理,也就是说,如果你连续输入:1空格2空格3回车
那么,在3再回车之后才会有显示。
追问
我有一点有个疑问,while(cin>>n)的时候是一直在等待你的回车了,也就是说等你输入完成后才进入连续三次进入while循环里面的。
追答
这里你要明白一个模式,就是你的程序,是“控制台”模式程序,这种模式起源于命令行,因此很多机制都是以“行”来进行的。
cin>>这个输入模式,是将程序放入“等待”控制台输入的模式。这个时候,只有回车才能返回程序继续执行。
而返回的输入缓冲区中,存在了多个值,这些值在程序执行完第一个while循环之后,发现缓冲区里面有东西,就不进入“等待”模式了,从缓冲区读取后进入下一个循环,直到输入缓冲区没东西了的时候,如果还需要输入,那么再次进入“等待”模式。
haiyangfenghuo
2014-10-25 · TA获得超过2439个赞
知道大有可为答主
回答量:2388
采纳率:0%
帮助的人:803万
展开全部

这个问题问的好,表述有误:

更多追问追答
追问

再:cout << “your hex number is: ” << result <<endl;

为什么我在程序上输入就一直显示让输入数据呢?按理说应该是输出16进制的数据啊。

追答
你的程序呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友902bbf8
2014-10-25 · 超过18用户采纳过TA的回答
知道答主
回答量:92
采纳率:100%
帮助的人:33万
展开全部
输入 1 , 回车,则直接进入循环,n=1
如果输入“1 3 4 5”,中间有空格,则相当于循环进入四次,输入了四次啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式