主函数最后为何要来个return 0;?不来会怎样,还有return 0 跟return 有什么区别

如题所述

因为主函数是有整数型返回值的,所以需要return 0,不使用的话,程序编译会报错。

两者区别如下:

一、使用时机不同

1、return 0:在主函数没有返回值的情况下使用,指代返回值。

2、return:在表示程序段结束时候使用,表示部分程序段结束。

二、内存机制不同

1、return 0:整个程序段结束,内存中存储的变量释放。

2、return:部分程序段结束,内存中存储的变量不会释放。


三、程序执行顺序不同

1、return 0:程序完全停止执行。

2、return:程序跳过部分程序段,继续执行下一个程序段。

参考资料来源:百度百科-return

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-07
因为你声明的main函数是有返回值的话,那么你必须返回一个给定类型的值。比如int main() 就需要返回一个int类型的值,通常用0,因为操作系统的习惯是认为返回0是正常退出。
当你声明一个函数返回类型为void时,直接用return;就可,表示函数返回,但是不返回值。追问

函数返回是什么意思?跟函数结束有什么区别吗?

return 0只能用在主函数上吗?还是说副函数上都可以用?

如果函数不是Int 类型的呢

追答

函数返回表示函数主体执行完成之后主动退出的触发操作,函数执行到return 后会退出函数返回调用位置。函数结束的标志就是return语句的执行,所有的函数必须有返回,无论是void还是其他类型,这是从汇编来的概念,函数返回表示函数执行结束。
C里边函数的约定是这样的,所有函数都必须返回如其所声明一样的返回类型值,void可以直接写return;或者省略(此时以到达函数体结束为返回点,编译器自动返回)。
函数返回是一个很重要的概念,返回的意思是指对调用的响应的结果,一般而言简单类型直接返回,复杂类型要使用指针。
所有函数都是有返回的,所谓的无返回指的是没有返回值,即返回void类型。

本回答被提问者采纳
第2个回答  2013-02-20
那就是主函数有设置返回类型,主函数中间部分如果没有return任何东西,那么就可能是为了适应主函数
第3个回答  2013-02-17
补充LS:int main()不写return的话也行,系统默认return 0。

...0;?不来会怎样,还有return 0 跟return 有什么区别
一、使用时机不同 1、return 0:在主函数没有返回值的情况下使用,指代返回值。2、return:在表示程序段结束时候使用,表示部分程序段结束。二、内存机制不同 1、return 0:整个程序段结束,内存中存储的变量释放。2、return:部分程序段结束,内存中存储的变量不会释放。三、程序执行顺序不同 1、retu...

...有“return 0;”这个结尾,为什么一定要return0呢?return1或2不行吗...
可以的,因为主函数main也是一个函数。若main定义为int main(),即返回一个整型的数据。但这个数据一般不是程序员需要的,而是系统需要的。return 0只是为了满足这一要求而已,至于是0还是1,或者其他的,并没有太大的关系。

C++中,return 0 和 return -1有什么区别,程序运行到该语句时会不会产 ...
与C语言不同,C++的main函数返回类型既可以是void,也可以是int,但C++的设计者更主张程序员们用int作为main函数的返回类型,所以main执行完后应该返回一个整数告诉操作系统程序执行的情况。只要是一个整数就行,就像一般的函数一样,return表示函数结束,在main中return一个整数之后,main函数执行完毕,也即...

c语言什么情况下用到return1和return0,还有这是什么意思
答案:在C语言中,return 1和return 0通常用于程序的返回状态。return 0通常表示程序正常结束,而return 1或其他非零值通常表示程序遇到了某种错误或异常情况。详细解释:在C语言中,程序的每个函数都会返回一个值。对于主函数,这个返回值用于告诉操作系统程序的执行状态。返回值的含义通常由程序的设计者和...

return 和return 0有什么区别?还有exit(0)和return有什么区别?注意啊...
这是根据函数的返回值来的,例如说void fun() 用return ,而int fun() 用return 0;exit(0)是直接退出程序,而return是用于返回值的,当然在main()函数中用的话,没什么区别

return;和return 0;一样吗?
这2句不一样,也不能通用。return;只用于void返回类型函数里,用于强制结束函数。return 0;用于非void返回类型的函数里,返回一个0值。这2句不能交换使用,不然会导致编译错误。

C语言中return 有什么作用?在什么情况下可以没有return?returen0...
void fun (){printf(“***8”);} \/\/该函数只是用来输出一行*号,没有涉及到计算,所以没有return 比如 int fun(int n) \/\/该函数计算累加和s=1+2+3+...+n {int i,s;s=0;for(i=1;i<=n;i++)s=s+i;return s; \/\/通过return把最终的和值s返给main函数 } ...

谁能告诉我,主函数中return 0,是什么意思?还有为什么事int main,void...
有些编译器,比如GCC,认为void main 不标准,要用int main。 否则就报错 20 C:\\Documents and Settings\\Administrator\\桌面\\临时文件夹\\Untitled1.cpp `main' must return `int'return 0; 是告诉系统运行结果的,是否出错。一般return 0代表正常,return -1代表出错,然后交由系统处理 ...

C++中return null和return 0有什么区别,还有程序运行到return时是不是...
return 0;printf("that is it");} 这里就利用一个while的死循环,但是由于循环中有return,所有循环是不会循环下去的,一到return就跳出整形函数,也不会输出that is it,同理于do()跟go()这里的两个方法,根本不会执行go(),至于你问到的return 0与return null有什么区别,return 0是用在整形...

C语言中什么时候该用return,什么时候不用?
总之,return后面跟的变量或者表达式结果的类型要与函数的类型一致。现在知道为什么 int main() 最后要 return 0;了吧(其实为什么是0我也不知道,应该有什么含义吧)函数类型之中,有一个类型叫做空类型,也就是void 如void fun(int a)这个函数里面可以用return (后面不跟数据),也可以把return语句...

相似回答