C++中endl的作用

我知道endl的作用是换行。如:#include<iostream.h>voidmain(){cout<<"thisiscargochargeprogram"<<endl... 我知道endl的作用是换行。如:
#include<iostream.h>
void main()
{
cout<<"this is cargo charge program"<<endl;
float weight=20;
float charge=0;
charge=charge+(weight-15)*12;
cout<<weight<<endl;
cout<<charge<<endl;
}
其中cout<<"this is cargo charge program"<<endl;这一句中的endl如果不写会怎样?还有endl后面的分号(;)这个分号有什么作用不打可以吗?还有charge=charge+(weight-15)*12;这句能不能变成charge=(weight-15)*12;?为什么变量charge要初始化为零??如果不初始化为零可以吗?
能不能回答详细点啊!!
展开
 我来答
豆儿妈育儿
推荐于2017-09-11 · TA获得超过1945个赞
知道答主
回答量:99
采纳率:0%
帮助的人:76.5万
展开全部

和楼上说的一样,endl的作用是换行,不写对程序的运行没有影响,但是程序就不够美观了比如去掉endl,代码如下(附上运行结果):

#include<iostream.h>

void main()

{

cout<<"this is cargo charge program";

float weight=20;

float charge=0;

charge=charge+(weight-15)*12;

cout<<weight<<endl;

cout<<charge<<endl;

}

你看那运行结果,显然不利于结果查寻对吧,这就是endl的作用

至于你说分号能不能去掉,肯定不能啊,这是C或C++语言的语法规则,去掉无法通过编译,会出现语法错误,我试给你看

#include<iostream.h>

void main()

{

cout<<"this is cargo charge program"<<endl  //注意这里缺少一个“;”

float weight=20;

float charge=0;

charge=charge+(weight-15)*12;

cout<<weight<<endl;

cout<<charge<<endl;

}

你看编译时错误提醒

Compiling...

12.cpp

D:\C源程序代码\12.cpp(5) : error C2144: syntax error : missing ';' before type 'float'

Error executing cl.exe.

12.obj - 1 error(s), 0 warning(s)

它说在你这个程序的第五行float定义前缺了一个“;”,也就是上面程序加注释的地方,你加上再编译就不会出错了

你说weight为什么赋初值为0,这个不一定,是看你的程序需要赋什么值,随程序需要可以赋任何值,同样你问的那个计算表达式也是由程序需要决定要不要加charge。

给你一点建议:以后诸如此类问题,你可以像我这样调试程序得到你想要的答案,加油吧^_^

985967518
推荐于2017-09-18 · 知道合伙人教育行家
985967518
知道合伙人教育行家
采纳数:18027 获赞数:109854
14年本科毕业于河南理工大学,至今就读于河南理工大学攻读硕士学位,从事编程学习已有5年。

向TA提问 私信TA
展开全部
endl的作用是换行
可以插入到输出流中,效果为在输出结果中插入换行符'\n'。
要直接使用endl,需要使用std名空间,即使用:
using namespace std;
否则需要使用std::endl

以标准输出流cout为例:
cout << "this is a test string" <<endl;
的效果就是输出
this is a test string
后换行。
用于文件输出流或字符串输出流时用法类似。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fac5ad998
2010-06-29 · TA获得超过512个赞
知道小有建树答主
回答量:470
采纳率:0%
帮助的人:384万
展开全部
endl只是个换行,不写的话对程序的运行没什么影响的,只是可能美观的问题。后面的分号表示语句结束,必须要的东西哟。

======
貌似可以改成charge=(weight-15)*12;你可以改一下然后调试试试,变量初始化的主要作用是给它一个内存空间先。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MK的锤子
2010-06-29
知道答主
回答量:39
采纳率:0%
帮助的人:21.4万
展开全部
charge=charge+(weight-15)*12
可以写成
charge+=(weight-15)*12

分号是结束标志

不初始化不可以。。不然结果不可预料。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乙熹羿懿
2020-04-28 · TA获得超过3663个赞
知道大有可为答主
回答量:3044
采纳率:29%
帮助的人:161万
展开全部
endl是结束了输入输出流,并在屏幕上起到回车作用。建议你看一看我的一个回帖:
http://wenwen.sogou.com/z/q737493795.htm
那个帖子里,你可以看到endl所起的作用,相信你的理解会更深一些。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式