黑马程序员技术交流社区

标题: 有个C语言的问题 [打印本页]

作者: wx_BZhrvVik    时间: 2015-5-6 15:11
标题: 有个C语言的问题
本帖最后由 wx_BZhrvVik 于 2015-5-7 14:14 编辑

我想问下
void main(){}

int main()
{
   return 0;
}
这两个到底有没有区别,之前都是直接用,也没多想,在哪些情况下会有不同的结果
作者: 好梦留人    时间: 2015-5-6 16:03
2个都是无系统返回值的意思吧?
作者: 尼古拉斯码农    时间: 2015-5-6 16:11
实际上int main 才是标准写法,最后返回0说明系统调用函数成功——意思是将程序的运行状态返回给操作系统(运行正常还是不正常)如果程序运行正常,一般情况下都是返回 0的。
void main() 虽然在一些实现上可以通过,但在另外一些实现上就会出问题;
而且最后的return 0;对于int main()可一省略,其他函数不行。
作者: wx_BZhrvVik    时间: 2015-5-6 16:11
好梦留人 发表于 2015-5-6 16:03
2个都是无系统返回值的意思吧?

我任务一个是无返回值,一个的返回值是整型数字0,我就是想问下这两个在应用是会有什么区别
作者: 凌乱    时间: 2015-5-6 17:15
当然有区别,一个是有返回值,一个没有
作者: 凌乱    时间: 2015-5-6 17:19
多看看视频把
作者: 50mmf1.0    时间: 2015-5-6 19:23
return 0就是告诉系统程序运行完毕后初始化为0。
这和没有返回值的主函数还是有区别的,但是运行起来应该都没问题。
作者: asd26187    时间: 2015-5-6 21:39
void main是没有返回值的函数,而int main是返回整数型数据的函数,这是他们不同的地方 ,首先一段代码里只能有一个main函数,然后就是void定义的函数是不会返回任何值的,你要调用函数里的内容就要直接调用函数。
作者: ios专用    时间: 2015-5-6 22:03
一般只会用int main() 吧
作者: 逆流瞅瞅    时间: 2015-5-7 00:01
int main()可以检测运行是否正常
作者: 陈凡1993    时间: 2015-5-7 00:23
void main()
{
    return;
}
这样写也没问题,但建议下面这么写
int main()
{
    return 0;
}
这么写运行玩程序就会返回0,返回0就是告诉程序运行正常,如果返回不是0就是运行异常。其实也没多大用,就是在执行的记录中记录运行是否异常,一般用不上,所以都可以的
作者: Ak47_1    时间: 2015-5-7 08:38
int main()
{

return 0;
}
这里返回的0  只是为了校验程序是否完整的进行到最后。
一般学习到后面都是需要写上 return 0的
作者: wusanzhong    时间: 2015-5-7 09:18
都用过,没感觉啥区别。
作者: 空白_o6H66    时间: 2015-5-7 10:14
顶一下、、、、、、、、、、、、、、、、、
作者: wx_BZhrvVik    时间: 2015-5-7 13:59
陈凡1993 发表于 2015-5-7 00:23
void main()
{
    return;

十分感谢,我就是不太清楚返回值的作用,谢谢你的回答:)
作者: 王鹏飞1    时间: 2015-5-9 10:21
前者无返回值,后者有,可判断是否运行成功
作者: 程序猿的崛起    时间: 2015-5-9 17:25
return 0有记录
作者: 刘雨轩1314    时间: 2015-5-9 19:43
其实第二种才是标准写法,只不过通常情况下main函数不需要返回和传值的,所以就有了第一种写法void main




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2