黑马程序员技术交流社区
标题:
main函数不写return 0,写return 1;可以吗
[打印本页]
作者:
魏建国
时间:
2015-3-31 09:13
标题:
main函数不写return 0,写return 1;可以吗
main函数不写return 0,写return 1;可以吗,试了可以呀,有啥子区别呀
作者:
zzyyzz1992
时间:
2015-3-31 09:19
有问题要勤于百度
我帮你随手搜的
返回值的作用
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 。
作者:
zzyyzz1992
时间:
2015-3-31 09:21
本帖最后由 zzyyzz1992 于 2015-3-31 09:27 编辑
参考来源 http://blog.csdn.net/xingty/article/details/8303031
作者:
yllian
时间:
2015-3-31 11:02
顶楼上,好像boot程序加载时,先近的_main,可以把main理解成一个正常的子函数吧
作者:
优客L-D-C
时间:
2015-3-31 11:42
李明杰老师在视频函数那节里说过,return有两个作用,return 0;正常退出, return 其他值;异常退出
作者:
tangwanchao
时间:
2015-3-31 17:09
是属于异常退出吧,但是是可以的
作者:
流风124
时间:
2015-3-31 17:12
好像通常的程序正常执行结果都是返回0,返回其他值则是异常,我以前工作的时候就是这样
作者:
cg287305691
时间:
2015-3-31 22:05
return 有两个作用,一个是返回一个值,一个结束程序,0 表示结束,1就是返回1
作者:
夜空中的花火
时间:
2015-3-31 23:40
视频里讲过这个return。但是当时听完还是记不住,应该还是太生疏的原因吧,感觉代码敲多了很多东西会慢慢悟出来的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2