return
在函数设计中,函数经常会出现return语句,这里讲一下return语句使用的注意事项。
1、
return后边可以是一个数值,也可以是一个表达式,如果是表达式则先执行表达式,在返回表达式的结果。
int add(int a,int b)
{
return a+b;//先完成表达式a+b,在返回a+b的值
}
int main()
{
int x = 0;
int y = 0;
scanf("%d%d",&x,&y);
int c = add(a,b)
printf("%d",c);
return 0;
}
2、
return 后边也可以说明都没有,直接写return;这种写法适合返回类型是void的情况。
void 可以表示什么数值都不返回。
3、
return 返回的值和函数返回的类型不一致,系统会自动将返回的值隐式转化为函数的返回类型。
int test()//int类型的函数
{
return 3.141;//3.141是浮点型,而函数int(整型)
}
int main()
{
int n = test ();
printf("%d",n);//若输出则只会输出3
return 0;
}
4、
return 语句执行后,函数就彻底返回,后边的代码不在执行
void test()
{
int n =0;
scanf("%d",&n);
printf("hehe");
if(n == 5)//表示如果输出的数字是5 则函数会直接返回
return; //并不会执行下边的语句 也就是并不会输出haha
printf("haha"\n);
}
int main()
{
test();
return0;
}
return和break看似类似,但区别非常大,break只是跳出距离它最近的一层循环,且跳出循环后,若循环后边还有语句,则会选择继续执行,而return如果遇见,则是直接停下,不会执行后边的语句。
5、
如果函数中存在 if 等峰值的语句,则要保证每一种情况下都有return返回,否则会出现编译错误!
int test()
{
int n = 0;
if(n == 5)
return 1;
}
int main()
{
int m = test();
printf("%d",m);
return 0;
}
if 的一种选项中包含了 return 那么其他选项都要有return 否则会返回值出错。
就如图上图的例子,当n=5的时候会返回数字1,而当n并不等于5的时候呢? 所以当一个选项中出现了return 其他的选项中也要包含return 否则会出错!
int test()
{
int n = 0;
if(n == 5)
return 1;
else
return -1;
}
int main()
{
int m = test();
printf("%d",m);
return 0;
}
6、
return 0; 其实表示的是主函数main 执行结束的标志