为了账号安全,请及时绑定邮箱和手机立即绑定

为什么只有一个变量MyString,最后可以一起输出很多行呢,是缓冲区吗?

为什么只有一个变量MyString,最后可以一起输出很多行呢,是缓冲区吗?

慕桂英3389331 2022-07-26 19:15:34
string MyString;while( cin >> MyString)cout<<MyString;这个语句是如下输入jdksl fdfkf jdakl kjks最后回车的结果是分行打印。
查看完整描述

2 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

cin 是带缓冲区的输入,空白字符做分隔符。
你的代码相当于while()执行了四次(仍没有结束,需要EOF),你可以加一个计数器确认一下:
int count = 0;
while (cin >> MyString)
{
cout << MyString << endl; // endl是不是漏了,有它才是分行打印吧
count ++;
}
cout << "count = " << count << endl;

查看完整回答
反对 回复 2022-08-01
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

while函数是一个循环,只要cin >> MyString这个条件判断正确,那么就一直循环下去,结束的标志是结束控制符,Windows下,ctrl+z(control-z)来输入文件结束符;Unix系统中,包括Mac OS-x机器,通常用control-d。

查看完整回答
反对 回复 2022-08-01
  • 2 回答
  • 0 关注
  • 108 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号