c++ cin 数组和cout数组的问题?

#include<iostream>usingnamespacestd;intmain(){inta[12];for(inti=0;i<12;i++){cin>>a[i]... #include <iostream>
using namespace std;
int main()
{
int a[12];
for(int i=0;i<12;i++)
{
cin>>a[i];
cout<<a[i]<<" ";
}
return 0;
}
题目是输入12个数值,然后输出12数值。
用上面的代码能够实现。

但是有一点想不通,按照这个for循环的语句,不应该是输入第1个数后,马上输出第1个数。然后再输入第2个数,再输出第2个数,以些循环。

为什么最后会是一次输入12个数后,又一次性输出了12个数?

这是数组的原理导致的还是cin的原理?
展开
 我来答
GTA小鸡
高粉答主

2020-08-17 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
都不是,这是操作系统命令行的特性。cin>>最终会转化为操作系统提供的读标准输入的系统调用,这个系统调用在用户按下回车键之前会阻塞住。所以你可以一次输入12个数,再按回车,cin>>这里的代码才会继续往下执行。
百度网友4a19403
2020-08-18
知道答主
回答量:9
采纳率:0%
帮助的人:4947
展开全部
cout有缓存区,如果在cout那里加上/n,结果就不一样了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ab_effect
2020-08-17 · TA获得超过256个赞
知道小有建树答主
回答量:182
采纳率:0%
帮助的人:44.6万
展开全部
这是因为输出缓冲区的原因,你可以手动刷新缓冲区来是输出变得及时,比如末尾加上endl
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
microroom
科技发烧友

2020-08-17 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1598万
展开全部
你有两种输入方式:
1、输入一个数就按一次回车
结果是每输入一个数就马上输出一个数。
2、一次输完所有数后再按一次回车
结果就是出现你所描述的情况。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高数线代编程狂
2020-08-17 · TA获得超过1.8万个赞
知道大有可为答主
回答量:1620
采纳率:86%
帮助的人:340万
展开全部
你的分析很正确,这个题目有问题,应该是一个for循环输入,后面再一个for循环输出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式