C++怎么定义int main返回值
3个回答
展开全部
1、main()函数的返回值是返回给系统的,一般写的是return (0),也就是程序正常结束时,返回0。如果程序在运行期间出错,则可以返回其他非0值,告知系统该程序没有正常结束。
2、main函数的返回值用于说明程序的退出状态。如果返回0,则代表程序正常退出;返回其它数字的含义则由系统决定。通常,返回非零代表程序异常退出。在winxp环境下做一个小实验。首先编译下面的程序:
int main( void )
{
return 0;
}然后打开附件里的“命令提示符”,在命令行里运行刚才编译好的可执行文件,然后输入“echo%ERRORLEVEL%”,回车,就可以看到程序的返回值为0。假设刚才编译好的文件是a.exe,如果输入“a && dir”,则会列出当前目录下的文件夹和文件。但是如果改成“return -1”,或者别的非0值,重新编译后输入“a && dir”,则dir不会执行。因为&&的含义是:如果&&前面的程序正常退出,则继续执行&&后面的程序,否则不执行。也就是说,利用程序的返回值,我们可以控制要不要执行下一个程序。这就是int main的好处。也可以把main函数的返回值类型改成非int类型(如float),重新编译后执行“a && dir”,看看会出现什么情况,想想为什么会出现那样的情况。顺便提一下,如果输入a || dir的话,则表示如果a异常退出,则执行dir。
2、main函数的返回值用于说明程序的退出状态。如果返回0,则代表程序正常退出;返回其它数字的含义则由系统决定。通常,返回非零代表程序异常退出。在winxp环境下做一个小实验。首先编译下面的程序:
int main( void )
{
return 0;
}然后打开附件里的“命令提示符”,在命令行里运行刚才编译好的可执行文件,然后输入“echo%ERRORLEVEL%”,回车,就可以看到程序的返回值为0。假设刚才编译好的文件是a.exe,如果输入“a && dir”,则会列出当前目录下的文件夹和文件。但是如果改成“return -1”,或者别的非0值,重新编译后输入“a && dir”,则dir不会执行。因为&&的含义是:如果&&前面的程序正常退出,则继续执行&&后面的程序,否则不执行。也就是说,利用程序的返回值,我们可以控制要不要执行下一个程序。这就是int main的好处。也可以把main函数的返回值类型改成非int类型(如float),重新编译后执行“a && dir”,看看会出现什么情况,想想为什么会出现那样的情况。顺便提一下,如果输入a || dir的话,则表示如果a异常退出,则执行dir。
展开全部
楼上不要误导,void
main()在C++的标准中是不支持的,只是在某些编译器下可以编译。
最好还是要带int型返回值,一般返回0表示程序无错。
main()在C++的标准中是不支持的,只是在某些编译器下可以编译。
最好还是要带int型返回值,一般返回0表示程序无错。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看了上面的回答没笑,说别人误导,直接都没搞明白。
int
main()
{
/*省略代码*/
switch
(num)
{
case
1:
return
0;
//这里你return
0;是可以的
虽然程序结束根据switch
case
的语法最好再加个break;
case
2:break;
case
3:break;
default:break;
//这里break后直接跳出循环
到后面后面少了return
0得加上;
}
return
0;
//其实前面那个return
0;可以不写的
写成break
这里一个就够;
}
int
main()
可以改成void
main()
后面不需要返回值,当然你写了
return;
这句也没错!
int
main()
{
/*省略代码*/
switch
(num)
{
case
1:
return
0;
//这里你return
0;是可以的
虽然程序结束根据switch
case
的语法最好再加个break;
case
2:break;
case
3:break;
default:break;
//这里break后直接跳出循环
到后面后面少了return
0得加上;
}
return
0;
//其实前面那个return
0;可以不写的
写成break
这里一个就够;
}
int
main()
可以改成void
main()
后面不需要返回值,当然你写了
return;
这句也没错!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询