(1).主函数声明了返回整型int,则需在main函数{}中用“return 0 ”返回值;
C++标准规定:main函数可以省略返回语句,等效于返回0。
注意:
1. main函数的返回类型是int, 不是void或者其他类型。
2. 该规则仅仅对main函数适用。
3. 对其他函数,如果省略返回值, 将得到一个警告。
4. 应该避免3的情况。
#include "iostream"
int main()
{
std::cout<<"the first program!";
return(0); //可以省略,运行结果一致
}
一个合法的最小化的完整C++程序如下:
(2).如果你没有什么可返回的值,那你就把函数返回类型声明为void 空型
新标准下,C,C++要求main函数必需返回值,用void就不行了。C++下返回值必须为int
|
#include "iostream"
void main()
{
std::cout<<"the first program!";
}
二、2. 省略的确切含义
同时,标准中的用语是很考究的:
“当控制到达main结束处时没有遇到return语句,效果与返回0相同”。
即是说,标准规定的是“对省略return的分支,认为返回0”。
同时,标准也允许其他分支含有返回语句。
如下:
switch (argc)
{
case 1:
// error, should passing argument
return -1;
// parse arguments
default:
case 3: // parser argv[2]
case 2: // parser argv[1]
;
}
// do some work
// control reaches here
}
没有输入命令行参数时, 返回一个错误。
其他情况,当控制达到main的结尾处时,效果同return 0;
二、3. 对于其他函数,没有这种“优待”
如:
if (argc<=1)
return -1;
}
int main(int argc,char* []) {
return not_main(argc);
}
not_main无疑将得到一个警告。
程序在没有输入命令行参数时的返回值将无法预知。