在函数中经常会用到return,它很重要
1.return后面可以是一个数值,也可以是一个表达式,如果是表达式,就先计算表达式的值再返回结果。
int add(int a, int b);
int main()
{
int x = 3; int y = 4;
int z = add(x, y);
printf("sum=%d\n", z);
}
int add(int a, int b)
{
return a + b;
}
int add(int a, int b);
int main()
{
int x = 3; int y = 4;
int z=add(x, y);
printf("sum=%d\n", z);
}
int add(int a, int b)
{
int c = a + b;
return c;
}
二者结果都是7
2,如果函数中存在if等分支的语句,则要保证每种情况下都有return返回,否则出现编译错误,如下
3.return返回的值与函数返回类型不一样,系统会自动将返回值转换为函数的返回类型。如下
int sum(float i, float j);
int main()
{
float y = 1.2; float z = 3.4;
float n = sum(y, z);
printf("%f\n", n); // 因为%f,所以结果有6个小数点
return 0;
}
int sum(float i, float j)
{
return i + j; //返回的是1+3=4
}
//结果为4.000000
float sum(float i, float j);
int main()
{
float y = 1.2; float z = 3.4;
float n = sum(y, z);
printf("%f\n", n); // 因为%f,所以结果有6个小数点
return 0;
}
float sum(float i, float j)
{
return i + j; //返回的是1.2+3.4=4.6
}
//结果为4.600000
4.return后面可以什么都没有,直接是return。这种写法适合函数返回类型是void的情况下,当然,也可以直接不写return。
5.return语句执行后,函数就彻底返回,后面代码不再执行。
void test(int n)
{
int i = 0;
int sum = 0;
if (n <= 0)
return; //enter a number m : -7
for (i = 1; i <= n; i++) //结束程序
{
sum += i;
}
printf("%d\n", sum);
}
int main()
{
int m;
printf("enter a number m:");
scanf("%d", &m);
test(m);
return 0;
}