return 语句
在函数的设计中,函数中经常会出现return语句,这⾥讲⼀下return语句使⽤的注意事项。
1 return后边可以是⼀个数值,也可以是⼀个表达式,如果是表达式则先执⾏表达式,再返回表达式的结果。
2 return后边也可以什么都没有,直接写 return; 这种写法适合函数返回类型是void的情况。
3 return语句执⾏后,函数就彻底返回,后边的代码不再执⾏。
4 return返回的值和函数返回类型不⼀致,系统会⾃动将返回的值隐式转换为函数的返回类型。
5 如果函数中存在if等分⽀的语句,则要保证每种情况下都有return返回,否则会出现编译错误。
6 函数的返回类型如果不写,编译器会默认函数的返回类型是int。
7 函数写了返回类型,但是函数中没有使⽤return返回值,那么函数的返回值是未知的。
1的例子:
int add(int x,int y)
{
int z=x+y;
return z; //z==30 一个数字返回
//return x+y; 第二种写法
}
#include<stdio.h>
int main()
{
int a,b;
scanf("%d%d",&a,&b);
add(a,b);
int ret=add(a,b);
printf("%d",ret);
}
2的例子:
void pri(void)
{
printf("hhhh ni hao!!");
}
#include<stdio.h>
int main()
{
pri();//调用函数 输出 hhhh ni hao!!!
}
3的例子:
void pri(void)
{
printf("ni hao!!!");
return;
printf("你好!!!");
}
#include<stdio.h>
int main()
{
pri();//只会输出ni hao !!! 不输出 你好!!
}
4的例子
int add(void)
{
return 3.5;
}
#include<stdio.h>
int main()
{
int ret=add();
printf("%d",ret);//输出3
}
//改进
double add(void)
{
return 3.5;
printf("ni hao!!!");
}
#include<stdio.h>
int main()
{
double ret=add();
printf("%.1lf",ret);//输出3.5
}
5的例子
#include<stdio.h>
int add(void)
{
int n = 5;
printf("hehe\n");
if (n == 9)//当n!=9时 输出的随机值
return 520;
}
#include<stdio.h>
int main()
{
int ret = add();
printf("%d", ret);
}
6的例子:
add(void)
{
int n = 9;
if (n == 9)
return 520;//返回520 默认是int型
}
#include<stdio.h>
int main()
{
int ret = add();
printf("%d", ret);//输出520
}
7的例子:
int add(void)
{
int n = 9;
printf("%d", n);
return;
}
#include<stdio.h>
int main()
{
int ret = add();
printf("%d", ret);//输随机值 因为没有返回值
}