C++中,return 0 和 return -1有什么区别,程序运行到该语句时会不会产生不同的结果?

如题所述

与C语言不同,C++的main函数返回类型既可以是void,也可以是int,但C++的设计者更主张程序员们用int作为main函数的返回类型,所以main执行完后应该返回一个整数告诉操作系统程序执行的情况。只要是一个整数就行,就像一般的函数一样,return表示函数结束,在main中return一个整数之后,main函数执行完毕,也即程序执行完毕。
在C++标准中虽然没有规定具体应该返回什么值,但一般而言返回0表示正常结束,返回非0表示异常结束,但一般非0时都返回-1,这也许跟C语言里的exit(-1)这个函数有关吧,毕竟很多C++程序员都是从C转过来的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-08-09
问得很好,我看很多人都觉得没有,你能提出这个问题说明了仔细思考。
return 0,相当于exit(0),相当于exit(EXIT_SUCCESS);
对于你的程序本身没有意义,但是对操作系统有意义。
在stdlib.h里面有定义:
原文:
--------------------------------------------------
/* We define these the same for all machines.
Changes from this to the outside world should be done in `_exit'. */
#define EXIT_FAILURE 1 /* Failing exit status. */
#define EXIT_SUCCESS 0 /* Successful exit status. */
--------------------------------------------------------
翻译,对于所有的机器,这些值都相同。0表示程序正确结束,1表示程序整形失败。
当然此外还有中止等异常情况,只有0表示正常。
如果你不写,对于32-bit的intel系统,返回EAX寄存器的值,这可能给操作系统一个错误的信号。
强烈推荐:写上。
依据标准,main的正确形式是:
int main(...);
int main(int argc, char*argv[]);
应当返回程序状态。这些都只有构造大型系统的时候才能看出是多么关键。
----------------------------------------------------------
应用举例:
对于一个编译器,如果编译生成了一个目标文件、可执行文件,会返回0,否则返回非0值。
当上层应用程序,如Make,NMake等,收到了非0值就不会继续编译。
从而使用户能够处理错误。
第2个回答  2013-09-27
一般应用在有多种不同结果的返回式上,
例如:return 1 表示成功,return 0 表示失败,return -1 表示异常
第3个回答  2013-09-27
没有上下文,不好说,return是返回的意思 一个是返回0,一个是返回-1,产生的结果,与具体成程有关
第4个回答  2013-09-27
具体要看你调用该函数的地方怎么用了,return只是向函数返回一个值,用作判断处理,理论上返回任何值都可以的。

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

C++中,return 0 和 return -1有什么区别,程序运行到该语句时会不会产 ...
具体要看你调用该函数的地方怎么用了,return只是向函数返回一个值,用作判断处理,理论上返回任何值都可以的。

...return -1有什么区别,程序运行到该语句时会不会产 ...
1. 在C++中,main函数的返回类型可以是void或者int。尽管如此,C++的开发者更倾向于使用int作为main函数的返回类型,以便在程序执行完成后向操作系统提供程序执行状态的整数表示。2. main函数执行完成后,应该返回一个整数,以告知操作系统程序的执行结果。这个整数可以是任意值,正如其他函数一样,return语...

c++中return0和return1什么意思
return 0 和return 1的区别是代码。虽然在题目中所提到的 return 0 和 return 1 都有结束程序的功能,但是:在一些调试程序的工具中,主函数返回0则表示程序正常结束,返回其他值表示程序异常结束。这就是程序里的“错误代码”。当程序交给用户时,用户可以通过其返回值查用户手册以确定程序出的什么问...

return 0 ,return 1,有什么区别啊?我试了下,好像return 任何数对结 ...
return 0和1是有区别的,这里是说返回值是多少,如果你接下来的语句要用来return的返回值,那么1是真,0就是假.如果不用到返回值就没有什么关系.甚至可以不用这一句.

return 0 , return 1 , return -1 的区别?
上面的return 0或1 只是返回值不一样,这个在c++上只是要求要一个返回值,有是这个操作系统也不回由于你的返回值不对而判断你的程序是错误的!!如果是boolean一不一样,这是为非零时为真,其他是为假\\!!下面的还没见过啊!!呵呵!!

我问一下c++中return 0和return 1的含义和区别?还有使用条件是什么?
return 0和return 1只是返回值不同,举个例子吧 int func1(){return 0;};int func2(){return 1;};int a=func1();int b=func2();\/\/输出 a=0,b=1。在main函数中一般常写的return 0没实际意义,表示函数执行完毕。当然如果main函数声明为 void型就不用写return了。使用条件么。就是函数...

V C++编程中,return 0和return 1是什么作用,意思?
(1)如果程序正常执行,用return语句向操作系统返回0值,即return 0,否则返回-1。(2)而return 1,多半是在函数调用是返回给被调函数的值。如:include <iostream> using namespace std;int max(int x,int y){int z;z=x>y?x:y;return(z); \/\/这里返回的z就是max函的值,即情况(2...

return0和return1有什么区别
两者表示函数的返回值不同。1、return0:通常表示函数执行成功或正常完成。在C\/C++等编程语言中,约定将0作为表示成功的返回值。这意味着函数按照预期执行并成功返回结果。2、return1:通常表示函数执行失败或异常情况。非零值(一般为1)用于表示错误、异常或其他无法正常处理的情况。这样的返回值可以用于...

请问c++中 主函数最后 return0 return1 是什么意思 怎么用
return 0表示假 return 1表示真。返回的“1”或“0”被用在if条件句中做判断,1则执行,0则跳过if!

相似回答