大神告诉我c语言,main函数中return 0与return ;这两个有什么区别吗

如题所述

return关键字表示返回给上层调用函数(就是谁调用你的,你做完事总得汇报一声)一个数据,用来表明这个函数对工作的完成情况。在实际的处理过程中x86通过%eax寄存器存储这个值,并返回到上层函数(如果是struct结构则直接对上层函数的栈帧进行修改),所以不管如何就是通过使用一种上层函数可以知道的方式对返回结果进行一个告知。

而return 0;对上层函数告知我现在情况是0,一般来说0表示正常完成工作。return ;对上层函数不告知完成情况,返回一个空值,其实不是很好的一个做法,不过在工作完成情况对上层函数无所谓的情况下使用是没有问题的。

相应的,你返回什么值,在函数定义时也应该定义我会返回这个类型值。例如,return 0;需要告知我会返回Int类型。而return ;需要告知我会返回void类型值,如下:
int fun();
void fun();
而main函数中的return 操作是返回给操作系统相应的调用函数来看的,一般来说main函数需要给一个调用返回值,推荐的两种定义类型为:
int main(void)和int main(int argc, char *argv[])
返回值使用echo $?可以看到,即实际上返回值被赋予了$?这个环境变量。
而你的这个返回值是可能在脚本中被作为条件进行判断的,即执行了你编写的程序,询问你程序的工作情况是什么样的啊,然后执行相应的处理操作,因此,有一个int类型的返回值可以对执行后的情况进行一个定性的判断。
以上。
温馨提示:答案为网友推荐,仅供参考