请问,在用cin>>和cout<<时什么时候后面要“endl;”...

还有,曾经看到一个输入输出代码是这样的:cin>>a[i];cout<<endl;【在这里为什么还要一个cout语句呢?上面cin不是以“endl;”来结束的】

如果像楼上几位那样把它当做一个单纯的换行符,那么加不加完全是需求决定的,你要换行,才要加。endl还有一个更重要的意思,就是清空流缓存,把缓存的内容全部传递到设备中。如果你学过C语言的标准输入输出你就会知道。C语言的标准输入输出有两种:有缓存的和无缓存的。举个例子,getc这个函数,就是有缓存的,他有一个静态变量,属于这个函数,保存所有数据,当数据中出现\n的时候,才把数据逐个字符返回到参数中。无缓存的就是读到一个字符就返回一次。C++虽然没有这些接口,但是在底层的实现上,使用的系统调用,是一样的。所以有时候,如果你不用endl,就不会得到结果。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-31
上面的cin读完数据并没有换行,这里提供换行以免输出时和原有数据放在同一行。
第2个回答  2013-12-31
endl表示换行。
相似回答