C++中endl的作用

2024-11-21 00:23:03
推荐回答(5个)
回答1:

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

#include

void main()

{

cout<<"this is cargo charge program";

float weight=20;

float charge=0;

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

cout<

cout<

}

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

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

#include

void main()

{

cout<<"this is cargo charge program"<

float weight=20;

float charge=0;

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

cout<

cout<

}

你看编译时错误提醒

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。

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

回答2:

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

以标准输出流cout为例:
cout << "this is a test string" <的效果就是输出
this is a test string
后换行。
用于文件输出流或字符串输出流时用法类似。

回答3:

endl只是个换行,不写的话对程序的运行没什么影响的,只是可能美观的问题。后面的分号表示语句结束,必须要的东西哟。

======
貌似可以改成charge=(weight-15)*12;你可以改一下然后调试试试,变量初始化的主要作用是给它一个内存空间先。

回答4:

charge=charge+(weight-15)*12
可以写成
charge+=(weight-15)*12

分号是结束标志

不初始化不可以。。不然结果不可预料。。

回答5:

endl是结束了输入输出流,并在屏幕上起到回车作用。建议你看一看我的一个回帖:
http://wenwen.sogou.com/z/q737493795.htm
那个帖子里,你可以看到endl所起的作用,相信你的理解会更深一些。