c++中,在输入后(按回车键),其机理是什么?

有一段程序,如下:以下abc为数组:cin>>a;cout<<"flsjfljsa;";cin>>b;cout<<"sdkfhlksajfs";cin>>c;cout<<... 有一段程序,如下:
以下abc为数组:
cin>>a;
cout<<"flsjfljsa;";
cin>>b;
cout<<"sdkfhlksajfs";
cin>>c;
cout<<"6464";
为什么在执行时,输入aaa sss ddd再按回车!
abc已经赋值了!再输出cout中的!
最好把原理说出来。

按回车后,aaa sss ddd进入内存,aaa被赋给a。
我懂!
但为什么sss被赋给b,和ddd被赋给c。就不懂了!(b和c赋值前,还输出了东西了)
要是输入aaa sss ddd fff再按回车呢?
那fff跑哪儿了呢?

希望高手能给出解释!
从原理方面解释!
展开
 我来答
板唱Z9
2010-05-20 · TA获得超过1426个赞
知道小有建树答主
回答量:578
采纳率:100%
帮助的人:0
展开全部
你在输入时,aaa sss ddd已经进入内存(缓冲区)

按回车后,从缓冲区取出3个字符串,赋值给a、b、c

fff还在缓冲区

====================================================

cin可以看成从缓冲区取出数据,赋值给变量

赋值和输出没有冲突,明白吗?
dukang9904455
2010-05-20 · TA获得超过811个赞
知道小有建树答主
回答量:1028
采纳率:0%
帮助的人:935万
展开全部
要是你输入aaa sss ddd fff再按回车
fff就没有被读取,读取的位置还在ddd后面
你再cin>>a;
就可以把fff赋给a了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hwliu11
2010-05-20 · TA获得超过438个赞
知道小有建树答主
回答量:665
采纳率:0%
帮助的人:585万
展开全部
cin和cout就是iostream的对象,回车属于默认的输入结束键,空格也是,所以cin是无法接受空格的,遇到空格流输入结束
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无尽的华尔兹Cluw3
2010-05-12 · TA获得超过157个赞
知道小有建树答主
回答量:264
采纳率:0%
帮助的人:0
展开全部
这是以流的形式输出,回车是告诉系统,数据流全部达到,可以输出,至于为什么是回车就输出,这个问题你钻牛角了,就像为什么语句后要加分号一样,你去问发明C++那个人就知道,这些都不是什么问题,这是这种语言的特性。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuyue880116
2010-05-12
知道答主
回答量:26
采纳率:0%
帮助的人:0
展开全部
在cin的时候只要输入空格 tab 回车 字符串就算输入结束
你那样输入当然是都赋值了
效果和a b c一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式