搜索
查看: 3441|回复: 14
打印 上一主题 下一主题

为什么一定要加return 0

[复制链接]
跳转到指定楼层
楼主
发表于 2013-12-22 12:51:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
每个程序都要加return吗?不加行不行!#include <stdio.h>#include <stdlib.h>
int main()
{
       
        system("pause");
        return 0;
}



最佳答案

查看完整内容

return 0的意义是:告诉操作系统程序正常退出 不加可以,但是编译器会给出警告(-Werror下无法编译) 而且如果其他程序通过这个值判断程序运行状态,就很可能造成误判
沙发
发表于 2013-12-22 12:51:22 | 只看该作者
return 0的意义是:告诉操作系统程序正常退出
不加可以,但是编译器会给出警告(-Werror下无法编译)
而且如果其他程序通过这个值判断程序运行状态,就很可能造成误判
板凳
发表于 2013-12-22 13:15:07 | 只看该作者
如果功能函数需要返回值就要用到这个,否则可以删掉。一般情况下,void可以不用,其他的,必须要用到return.
地板
发表于 2013-12-22 13:23:00 | 只看该作者
梦中的婚礼 发表于 2013-12-22 13:15
如果功能函数需要返回值就要用到这个,否则可以删掉。一般情况下,void可以不用,其他的,必须要用到return ...

功能函数是指?
5#
发表于 2013-12-22 14:24:19 | 只看该作者

沙发提到了void main
6#
发表于 2013-12-22 14:24:47 | 只看该作者
rosynirvana 发表于 2013-12-22 13:21
return 0的意义是:告诉操作系统程序正常退出
不加可以,但是编译器会给出警告(-Werror下无法编译)
而 ...

我说,你的操作系统是Linux?
7#
发表于 2013-12-22 14:29:11 | 只看该作者
return 0是指返回0,在正常的函数里一般要有,如果是空类型就直接写
return就行了。0指的是正常退出,不过,你可以换成……
  1. exit(0);
复制代码

注意:在main函数里两条语句的意思是相等的,但是在自己的函数里
如果是return,那么就会到发出调用函数的“那个”函数里面去
如果return出现在main函数里,那么结束整个程序
但是如果是exit,那指的是“无论是在什么函数里,立即结束”
exit(0)指的是正常退出,其他为非正常
8#
发表于 2013-12-22 14:48:40 | 只看该作者
4399APPLE 发表于 2013-12-22 14:24
我说,你的操作系统是Linux?

我身边不止一台设备,有些是unix家族的操作系统,但是手边这台现在运行着Windows

但是这和我的回复没关系的样子
9#
发表于 2013-12-22 14:50:03 | 只看该作者
rosynirvana 发表于 2013-12-22 14:48
我身边不止一台设备,有些是unix家族的操作系统,但是手边这台现在运行着Windows

但是这和我的回复没 ...

额,那是多少
确切
10#
发表于 2013-12-22 17:51:49 | 只看该作者
梦中的婚礼 发表于 2013-12-22 13:15
如果功能函数需要返回值就要用到这个,否则可以删掉。一般情况下,void可以不用,其他的,必须要用到return ...

你肯定没有只用入口写过程序
11#
发表于 2013-12-22 17:54:49 | 只看该作者
超神级 发表于 2013-12-22 17:51
你肯定没有只用入口写过程序

入口又是什么? interface(接口) ?
12#
发表于 2013-12-22 18:09:45 | 只看该作者
超神级 发表于 2013-12-22 17:51
你肯定没有只用入口写过程序


FreeConsole()
13#
发表于 2013-12-22 18:13:58 | 只看该作者
rosynirvana 发表于 2013-12-22 17:54
入口又是什么? interface(接口) ?

不是

  1. main()、、//
  2. {

  3. }
复制代码
是这个
14#
发表于 2013-12-26 20:08:45 | 只看该作者
旧的标准可以使用void main,void可以不返回值。
新的标准规定main 的类型为int,既然函数有返回值类型,就要返回值。所以就有了return 0;
至于0是返回值规定。
15#
发表于 2013-12-26 22:31:46 | 只看该作者
傻瓜孩子 发表于 2013-12-26 20:08
旧的标准可以使用void main,void可以不返回值。
新的标准规定main 的类型为int,既然函数有返回值类型,就 ...

从最早的标准(ANSI C, 1989)开始就规定int main
但是同时规定返回值为int可以不写
从来没有规定可以写void main

返回值为0表示正常退出也不是规定,只是UNIX习惯
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表