鱼C论坛

 找回密码
 立即注册
查看: 2634|回复: 6

[已解决]void main和int main然后return 0一样吗?

[复制链接]
发表于 2022-12-8 18:55:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我看过小甲鱼老师以前的C语言教程,那时候都是

#include <stdio.h>

void main()
{

}

然后最近开始看的《带你学C带你飞》第一季
里面都是

#include <stdio.h>

int main()
{

    return 0;
}

函数那章我看完了,知道void是无返回值的函数,int是返回整型数的函数,但是你都已经是主函数了,它返回值给谁看的呢?
最佳答案
2022-12-8 21:33:02
main对程序员来说,好像确实是主函数。不过main函数执行之前和之后,还是有其他代码的,我记得还有10几个函数左右。他们会用到main函数返回的值,最后你的程序最终也会返回这个值

如果你通过批处理程序, 去执行好几个程序,那其实就可以用到这个返回值,来确定下一步。

其实你可以写函数,然后通过传递函数指针给atexit这个特殊的库函数,那么main函数执行完以后,会执行你写的这个函数代码,从这里就知道main外面的世界很大。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-8 19:05:40 | 显示全部楼层
本帖最后由 jackz007 于 2022-12-8 19:09 编辑

         main() 是 C 语言约定供操作系统调用的一个特殊的函数,每一个程序都必须要有这个函数,就是为了和操作系统接口,也正是这个原因,main() 是否有返回值,以及返回什么类型的结果,这些都不是咱们说了能算数的,得符合 C 语言和操作系统的约定(int)。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-8 19:06:47 | 显示全部楼层
void main()是不符合c语言标准的写法,c语言标准从来就没有定义过void main()这种写法
int main()的返回值当然是返回给调用它的地方,比如操作系统,而返回0代表程序正常退出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-8 20:59:38 | 显示全部楼层
给程序员看得
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-8 21:33:02 | 显示全部楼层    本楼为最佳答案   
main对程序员来说,好像确实是主函数。不过main函数执行之前和之后,还是有其他代码的,我记得还有10几个函数左右。他们会用到main函数返回的值,最后你的程序最终也会返回这个值

如果你通过批处理程序, 去执行好几个程序,那其实就可以用到这个返回值,来确定下一步。

其实你可以写函数,然后通过传递函数指针给atexit这个特殊的库函数,那么main函数执行完以后,会执行你写的这个函数代码,从这里就知道main外面的世界很大。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-8 21:39:00 | 显示全部楼层
明白了,感谢大家!以后写程序用int
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-9 11:59:05 | 显示全部楼层
学到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 09:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表