cin如何导致cout输出自动换行?

李纪玺 2014-02-06 04:26:27
一般来说,cout输出是不会自动换行的。例如:

#include <iostream>
using namespace std;
int main() {
cout << "ONE!";
cout << "TWO!" << endl;
return 0;
}

这段代码的输出格式如下:
ONE!TWO!

即使在两条cout语句之间有其他语句,输出也不会自动换行:

#include <iostream>
int main()
{
using namespace std;
int carrots;
cout << "How many carrots do you have?";
cin >> carrots; // C++ input
cout << "Here are two more. ";
carrots = carrots + 2;
// the next line concatenates output
cout << "Now you have " << carrots << " carrots." << endl;
return 0;
}

上述代码改自C++ Primer Plus 6ed, P45。

输出结果为
How many carrots do you have?12
Here are two more. Now you have 14 carrots.

Here are two more.与Now you have 14 carrots.之间并无自动换行。

但是,在How many carrots do you have?与Here are two more. 之间只是有一个cin语句,并没有类似endl的东西,为什么这两句不位于同一行中呢?例如:
How many carrots do you have?12Here are two more. Now you have 14 carrots.

如果要做到上述输出效果,应如何做呢?请达人指点。多谢。
...全文
1549 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lm_whales 2014-03-05
  • 打赏
  • 举报
回复
1)不使用C++ 流 2)输入不回显,就不会出现输入,干扰输出的问题了。 C,C++流的输入,都是带回显的。 即输入同时显式输入的字符,这个显式就是另一个输出。 由于输入本来就包含一个输出过程。 所以流输入,会干扰流输出。 当你把输出重定向到文件的时候,程序结束的时候, 查看文件,就会发现,输出并没有换行。 那个换行,是输入的回显输出,产生的换行,不是流输出的换行。
wanren13 2014-03-02
  • 打赏
  • 举报
回复
第一段程序只是输出,如果没有定义换行,所有的输出都会在同一行 第二段程序多了个cin,cin语句需要你输入一个数字,数字输入的完毕需要敲回车,回车导致换行。
百曉生 2014-03-01
  • 打赏
  • 举报
回复
这个我前段时间好像想到一个方法,后来又给忘了,等我想起来了在给你说啊
mandmLee 2014-03-01
  • 打赏
  • 举报
回复
如果输入12时不按回车,你怎么结束12的输入?既然你已经按了回车,他们怎么会在同一行?
MewX 2014-02-18
  • 打赏
  • 举报
回复
噗……直接编译出来就是上面这个效果。。。 输入数据除了重定向就是回车了 orz
懒懒的吉他手 2014-02-07
  • 打赏
  • 举报
回复
你输入12的时候按了回车了啊
百曉生 2014-02-07
  • 打赏
  • 举报
回复
在这种情况下能不换行吗?我不知道,lz要不看看这个,看能看明白不——http://zhidao.baidu.com/link?url=-RNbyIOWuoJPmgoDoGJ5Ucyi7sP8HQcHqoaH-ryNGZlCxHpezrom8xGHx8MAGG7v-3uEWx68jnU3LZ22xtZDL_
Falleyes 2014-02-07
  • 打赏
  • 举报
回复
多看看书后面的程序啊,你一次就想把所有的东西都明白吗?
taodm 2014-02-06
  • 打赏
  • 举报
回复
楼主兄弟,你自己真的编译试过? 你敢确定你输入12的时候没按回车? 哎
derekrose 2014-02-06
  • 打赏
  • 举报
回复
你为什么不自己试试呢?

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧