c++/ return 0:的问题
来源:百度知道 编辑:UC知道 时间:2024/06/09 02:38:55
int main()
{
return 0;
}
和
int main()
{
return -1;
}
这两个程序 执行起来都没有 错误
为什么 int main() 后 就必须返回 return 0;呢
定义一个int函数后 return 1-100000;难道不可以么 ??
那为什么说
return 0表示程序运行正常, return 其它表示程序在运行过程中发生了异常
只是一个 习惯吗?
因为你用的是 int main() ,所以程序结束要送返一个整数。
如果用 void main() , 就不用 return 了。
习惯上 return 0 表示程序运行正常,别的值表示不正常,用不同的“不正常”值表示不正常的特殊状况。
“定义一个int函数后 return 1-100000;难道不可以么 ??”
可以,(100000 数值大了,可以用小一点的)。
送返的值只在刚送返时有效,一般程序员(新手)通常都不知道到哪里去取它,更不知如何用它。换言之,送返的值,没啥用场。所以你就用 void main() ,不必理会 return 。
定义了int,那么函数必须返回整型,否则出错,一般我们习惯是用1来表示程序正常退出,用0来表示程序异常退出。
如果要将返回值设置为其他整型,也没有错误,这要根据实际情况来运用。
如果你还有什么问题,发邮件给我吧
mangohappy@qq.com
新的C或C++标准要求main()函数返回值必须为int型,不支持void型,所以你为了使程序保存可移植性,必须遵循标准。
如
int main()
{
return 0; //这一条返回语句可以省略
}
至于返回值是返回给系统,一般说来没有什么作用,但是你在调试程序,或通过系统执行管道能够获得程序这个返回值,来判断程序的行为。
如:
int main()
{
//do other
if("结果1")
return 1;
else if("结果2")
return 2;
else
return 0;
}
这样就可以在程序结束时捕获返回值来判断程序行为了。通常我们都是在正确时返回0,可以理解为相当于操作系统执行这样的操作
int error_code = main();
//if(!error_code){ //程序正确}