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;
}
编译通过。