和楼上说的一样,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。 给你一点建议:以后诸如此类问题,你可以像我这样调试程序得到你想要的答案,加油吧^_^
endl的作用是换行
可以插入到输出流中,效果为在输出结果中插入换行符'\n'。
要直接使用endl,需要使用std名空间,即使用:
using namespace std;
否则需要使用std::endl
以标准输出流cout为例:
cout << "this is a test string" <
this is a test string
后换行。
用于文件输出流或字符串输出流时用法类似。
endl只是个换行,不写的话对程序的运行没什么影响的,只是可能美观的问题。后面的分号表示语句结束,必须要的东西哟。
======
貌似可以改成charge=(weight-15)*12;你可以改一下然后调试试试,变量初始化的主要作用是给它一个内存空间先。
charge=charge+(weight-15)*12
可以写成
charge+=(weight-15)*12
分号是结束标志
不初始化不可以。。不然结果不可预料。。
endl是结束了输入输出流,并在屏幕上起到回车作用。建议你看一看我的一个回帖:
http://wenwen.sogou.com/z/q737493795.htm
那个帖子里,你可以看到endl所起的作用,相信你的理解会更深一些。