网站首页 > 技术文章 正文
C语言return 0一定要有吗?
# include < stdio . h >
int main (){
printf (" This is a C program .\ n ");
return 0;}
main() 是函数的名字,表示“主函数, main 前面的 int 表示此函数的类型是 int 类型(整型)。
在执行主函数后会得到一个值(即函数值),其值为整型。return 0的作用是:当 main 函数执行结束前将整数0作为函数值,返回到调用函数值。
把 main 函数指定为 int 型(整型),它要求函数带回一个整数值。在 main 函数中,在执行的最后设置一个return 0语句。
当主函数正常结束时,得到的函数值为0;当执行 main函数过程中出现异常或错误时,函数值一个非0的整数。
这个函数值是返回给调用 main 函数的操作系统的。程序员可以利用操作指令检查 main 函数的选回值,从而判断 main 函数是否已经正常执行,并据此决定以后的操作。
如果在程序中不写“ return 0;”语句,有的 C 编译系统会在目标程序中自动加上这一语句,
因此。主函数正常结束时,也能使函数值为0。为使程序规范和可移植,希望程序一律将 main 函数指定为 int 型,并在 main 函数的最后加一个 return 0语句。
无论 C / C++,从 main 函数返回的效果都相当于调用 exit 函数,main 的返回值会作为传给 exit 函数的参数。
如果参数为 0 或者 EXIT_SUCCESS,向外部环境报告程序运行圆满结束。
如果参数为 EXIT_FAILURE,向外部环境报告程序运行以失败告终。所以成功运行必须返回 0 。至于其它返回值则没有定义。
程序内部函数返回什么都可以,但一旦返回到操作系统,那个返回值必须用 0 代表成功。因为一个程序正确结束,返回 0。异常或者错误退出返回非 0 ,非 0 的数字被当作错误码用。
C 的主函数 return 0 表示默认情况下应该返回正确结束的 Code,如果你返回 1,虽然你的程序没出现错误,但是被其他进程调用的时候可能因为返回的非 0 而被认为出错了。
c语言中,return 0什么时候不用加该语句?
函数不返回的情况下无须写出return语句,例如无限循环、调用不返回的函数(exit语句)等函数返回。
返回类型不是int的情况下,若返回类型是void,则没有写出return的必要性,可在需要提前返回的情况下写出return来进行返回操作。
- 上一篇: 什么是0℃恒温器?
- 下一篇: 从入门到提高一一函数定义域
猜你喜欢
- 2025-01-18 弱类型语言的php对于 0 、"0"、"000" 、"00" 判断与处理问题
- 2025-01-18 word中公式输入方法
- 2025-01-18 VLOOKUP函数之另类用法,让领导对你刮目相看
- 2025-01-18 LOOKUP中0,1是什么鬼,困扰我多年的疑惑,这课讲明白了
- 2025-01-18 Excel – 在多个匹配结果中,按规定查找出第n个结果
- 2025-01-18 从入门到提高一一函数定义域
- 2025-01-18 什么是0℃恒温器?
- 2025-01-18 VLOOKUP函数只能从左向右匹配查找?与IF函数搭配实现逆向查找
- 2025-01-18 TCP连接状态的多种判断方法
- 2025-01-18 吞没选股指标(选股指标)
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)