请问,在用cin>>和cout<<时什么时候后面要“endl;”...
还有,曾经看到一个输入输出代码是这样的:cin>>a[i];cout<<endl;【在这里为什么还要一个cout语句呢?上面cin不是以“endl;”来结束的】...
还有,曾经看到一个输入输出代码是这样的:cin>>a[i];cout<<endl;【在这里为什么还要一个cout语句呢?上面cin不是以“endl;”来结束的】
展开
3个回答
2013-12-31
展开全部
如果像楼上几位那样把它当做一个单纯的换行符,那么加不加完全是需求决定的,你要换行,才要加。endl还有一个更重要的意思,就是清空流缓存,把缓存的内容全部传递到设备中。如果你学过C语言的标准输入输出你就会知道。C语言的标准输入输出有两种:有缓存的和无缓存的。举个例子,getc这个函数,就是有缓存的,他有一个静态变量,属于这个函数,保存所有数据,当数据中出现\n的时候,才把数据逐个字符返回到参数中。无缓存的就是读到一个字符就返回一次。C++虽然没有这些接口,但是在底层的实现上,使用的系统调用,是一样的。所以有时候,如果你不用endl,就不会得到结果。
2013-12-31
展开全部
上面的cin读完数据并没有换行,这里提供换行以免输出时和原有数据放在同一行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-31
展开全部
endl表示换行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询