C++中return 0;与return;的区别

return语句有两种形式:
1.return;//不带返回值的return语句

2.return 0;//带返回值的return语句,或者返回一个变量或一个函数。

不带返回值的return语句用于,中断返回值为void类型的函数的执行,而带返回值的return则不行。

使用return expression;的代码编译失败。一下为失败代码:

#include <iostream>  
using namespace std;  
  
void func(){  
    cout<<"begin"<<endl;  
    return 0;/*此处有问题,此时return;的作用相当于break;用于中断循环的作用。所以不该返回某个具体的值。*/
   cout<<"end"<<endl;  
}  
  
int main(){  
    func();  
return 0;  
}


将return 0;换为return;后,运行成功:

#include <iostream>  
using namespace std;  
  
void func(){  
    cout<<"begin"<<endl;  
    return;  
    cout<<"end"<<endl;  
}  
  
int main(){  
    func();  
return 0;  
}  
总结:return;的作用相当于break;用于中断循环的作用,而return 0;则是return的另一种用法,专用于返回值非void的函数返回其值。

return的扩展:
#include <iostream>  
using namespace std;  

void func(){  //此函数无返回值,所以此函数应该用return。
    cout<<"begin"<<endl;   
    cout<<"end"<<endl;
    return;//返回返回值为void的函数的返回值,可以执行成功 
}  
  
int main(){  //③main函数有返回值,返回值类型int,所以可以return 0
    func();  
return 0;  

}  
编译通过。

猜你喜欢

转载自blog.csdn.net/l198738655/article/details/79755706