问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言中return 0 的真正含义

发布网友 发布时间:2022-03-31 14:16

我来回答

6个回答

热心网友 时间:2022-03-31 15:45

main 主函数的 return 值,并不是告诉编译器的,而是返回到运行这个程序的系统的。
命令解释器(例如dos的command,linux 的各种 Shell)接收这个值,可以用于不同程序之间的交互。例如批处理程序(又或者另外一个程序通过管道什么的)要连续执行多个程序,如果后一个程序是否执行依赖于前一个程序是否执行成功的时候,就要知道前一个程序的运行状态。
具体举例,你要写一个安装程序安装你的某个程序,但这个程序运行或者安装依赖于另外一个程序是否安装成功了(很常见吧,象现在很多程序要求你安装了dotnet xxx版本后才能运行之类)。你自己封装的安装程序启动后先检查依赖环境是否安装了,没有,调动依赖环境的安装程序,这时候要检查这个安装程序是否正常安装完成正常退出,就要检查这个返回值了。如果返回安装失败,就不再执行后面的程序。成功了,继续安装你的程序。
至于返回什么这是写代码的人自己决定的,就算你喜欢返回0XAA55代表正常退出也行。只是一贯以来,大家都接受 main return 0表示成功,因为返回非0值可以用不同的值分别表示不同的错误原因。什么内存不足,文件校验错之类的可以分别定义不同的值,带回更多信息。而系统自己也会将0作为正常。没错,系统也会接收程序的return 值的,windows7就经常在安装某个文件异常退出时冒个提示什么这程序好像没有正常安装之类的信息。
就算你强行写 void main() 然后不return ,其实也是有个默认值返回了出来。就算你不在乎这个值,还是 int main 然后 return 个0 这样的行为比较标准。一些严格的编译器,是不接受 void main 的。例如 xcode 。

热心网友 时间:2022-03-31 17:03

return 0这个就是函数的返回类型,你不要纠结return 0; 它只不过是大家默认的写法。你也可以返回其它的数也行。只要是在int范围内就有效。
当然你也可以不使用return 0; 其做法就是把函数类型改为void即可。

热心网友 时间:2022-03-31 18:38

return 0 表示操作成功,正常结束
return -1 表示操作失败,出现异常

热心网友 时间:2022-03-31 20:29

return 0是操作系统的默认约定。
比如你编译了两个程序a.exe和b.exe
然后在命令行(cmd)里运行a && b回车,那么如果a返回0,操作系统会继续运行b;如果a返回其他值,比如-1,操作系统就不会运行b了(这里和c语言刚好相反,c语言里面0表示false,&&后面的反而不执行)。
当然,如果你只是单个程序运行,返回什么都无所谓。追问C语言都是以RETURN 0作为正确的
如果我在一个程序的结束的地方RETURN 0,这个代表程序正常结束的。
说明我预先知道了程序的会正常结束,是不是说,在程序出错的地方会返回一个1 2 3 之类的代表错误的值呢?

追答没错,main函数(注意只针对main函数)return 0表示告诉调用者程序运行正常。
如果程序出错而无法继续运行,那么main函数应该返回个非0值,目的是告诉调用者(一般是操作系统)程序出错了。

热心网友 时间:2022-03-31 22:37

在tc中,是不需要的
这个在vc中,好像是必须的
我也不是很理解,好像是vc框架必须的代码

你可以这么理解,c是有很多的函数互相包含调用构成的,main也是一个函数
c中,是函数就必须有返回值,这个是定下的

有返回类型的,就是返回类型和程序运算返回结果
void其实也有返回值,他好像是调用成功返回非零值,失败返回零
main也是函数,那么他也有返回值,不过我们一般用不到,我们一般也不在意这个返回值,是给系统判断用的

热心网友 时间:2022-04-01 01:02

我觉得你的理解有点偏了。return 多少代表什么含义,是人为定的。
至于为什么需要return一个数,看你函数定义的。
例如:你定义int main()主函数,那你肯定要return一个int型啊,至于return零是正常结束还是return负一是正常结束,随你定义啊。
你定义void main(),你不就不需要return咯。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...flash学得好、将来会有什么用、求哥哥、姐姐们、帮帮忙 我即将初中毕业,想要读技校,但又不知选那科好`哥哥姐姐们帮个忙吧! 成绩不好,高中毕业想学电脑,哪位哥哥姐姐知道帮忙推荐下学校_百度知 ... 大学计算机3级 怎样学习啊 难吗 哥哥姐姐 帮帮忙吧 ...就业怎样?我报了这个专业,请各位哥哥姐姐帮帮忙 请IT业工作的哥哥姐姐帮忙出出主意~~ ...师傅让他沿着水缸边行走练功。有谁知道这个电影叫什么? 小伙穿越拜"小龙女"为师,与小龙女合练武功是什么电影 ...电影开头是一个赤膊的男主角在练功,然后再和队友们去做任务,结果一... ...一秒竟然穿越了醒来第一句话就是疼死宝宝了是什么电视剧? 你认为日本的哪个护肤品牌比较好用? 日本护肤品牌,哪个比较好?direia迪瑞雅好不? 日本护肤品牌排行榜前十名都有哪些? 油皮,外油内干,日本护肤品牌推荐一下 c语言中,结尾return0是什么意思 包饺子步骤 windows.old是什么,可以删除吗? 怎样删除win10的windows.old 怎么删除c盘中的windows.old 升级win 10后的c盘windows.old怎么删除 如何删除old windows 怎么删除windows.old文件夹 windowsold怎么删 任天堂switch和塞尔达多少钱 switch任天堂港版多少钱 现在入手ps4pro和任天堂的switch分别多少钱? 任天堂switch5美元游戏能得多少金币? 任天堂switch在日本多少钱 任天堂 Switch售价到底多少 怎样解压缩文件? 武汉中法新城小学部作息时间 武汉小学早上上课的时间? 武汉弘桥小学现在三年级每天上学放学时间。 武汉英吉瑞克学校上学时间 请教武汉外国语学校学生:作息时间 武汉小学生什么时间开课? 小升初比较科学的作息时间表 急!武汉中学的作息时间安排是怎样的? 武汉市中小学线下上课时间 急求关于中学生作息时间调查报告 武汉盘龙城佰昌小学开学时间,什么时间去报到 武汉四中作息时间 404 Not Found 武汉市汉阳区哪些小学好 可以用白醋洗猪大肠吗 怎样清洗肥肠? 如何清洗肥肠 老九门张副官和八爷的关系 老九门张副官和八爷的同人文,突然发现这对cp好有爱 C语言return0究竟啥意思