C语言中return 0 表示什么

2024-11-11 23:43:02
推荐回答(5个)
回答1:

表示函数的返回值,可以根据需要返回不一定是0,一般函数的返回值是整数时,对返回值没有什么要求可以写return 0,比如 :
int main()
int i;
if(number<=1) return 0;
for(i=2;i<=10;i++)
说明main 需要返回一个int型的数。

我们用return返回一个值,也就是说我们希望那个函数返回一个什么结果,我们就return什么。int add (int a, int b){return (a*b);}这个函数就反回了参数中两个数的积。

return用于函数内部,含义为返回。其作用是退出函数。如果函数声明的返回值类型不是void型,通过return可以返回一个对应类型的值,这个值称为函数的返回值。return 0的含义就是,退出函数并将0值返回给主调函数。

回答2:

return表示函数结束, 也就是说CPU执行到return后, 就会跳转(如果要好理解的话, 是"回到")到调用它的地方, 然后继续执行.
而0, 是一个整型, 一般来说return 0所在的函数的返回值类型就是int, 如:int main(void). 而它的用处就是数据交换(或处理). 还拿main函数作比较, 如果有人细心, 在main函数的return处加一个断点, 然后单步执行, 不难发现, 下一步就会进入编译器的自带源文件. 以VC2013为例, 它的代码是:

__winitenv = envp;
mainret = wmain(argc, argv, envp);
//然后下一个执行的是(调试模式):

if ( !managedapp )
{
#ifndef _CRT_APP
exit(mainret);
#else
_exit_app();
#endif /* _CRT_APP */
这样, 就不难发现, 返回值是用来退出程序的, 虽然在这里, 它们的用处完全一样, 但是如果是一个取绝对值的函数abs, 那么, 它的返回值就有很大的用处了, 可以说整个函数的用处就在于返回值.

回答3:

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 。

回答4:

return 0是操作系统的默认约定。
比如你编译了两个程序a.exe和b.exe
然后在命令行(cmd)里运行a && b回车,那么如果a返回0,操作系统会继续运行b;如果a返回其他值,比如-1,操作系统就不会运行b了(这里和c语言刚好相反,c语言里面0表示false,&&后面的反而不执行)。
当然,如果你只是单个程序运行,返回什么都无所谓。

回答5:

return 出现在函数中,第一个作用是立即结束函数从而返回到调用函数的地方

如果return后面带参数 比如return 0
则说明调用者需要从这个函数中得到一个结果
比如我定义一个函数
int f()//返回类型是int
{
return 1;//返回1
}
然后我定义一个变量int a;
调用函数a=f();
然后a就等于1了