一.无返回值和有返回值的函数
无返回值函数,其返回值为void类型,只完成某些操作.
有返回值的函数,还要计算出一个值.
void printstars(int m) //void 代表返回值为空类型;
{
for (int j=1; j<=m; ++j)
printf("*");
return; //返回语句可省略;
}
int max(int x,int y) //int 代表返回值类型为整型;
{
int z;
if(x>y)
z=x;
else
z=y;
return z; //返回语句不能省略;
}
二.函数返回
1.表达形式: return (表达式); 或 return 表达式;
2.返回的意义:
执行流程的返回: 由调用函数返回到主调函数.
执行结果的返回: 将调用函数执行结果带回主调函数.
#include <stdio.h>
int max(int x, int y);
int main()
{
int a, b, c;
scanf_s("%d %d", &a, &b);
c = max(a, b);
printf("max=%d", c);
return 0;
}//主调函数
int max(int x, int y)
{
return(x > y ? x : y);
}//被调用函数
三.返回值的类型
1.函数值的类型: 在定义函数时,要指定函数返回值的类型;
2.返回值的转换: 若函数类型和return中的类型不同,以函数类型为准;
int main( ) //指定函数类型
{
……
double a;
a = f1(43.25);
return 0;
}
long f1(float x)
{
float y;
y=3*x;
return y;
} //y从float类型转换为long型
四.多个return语句
函数中可以有多个return语句,执行到哪一个,哪一个起作用
int max(int x, int y)
{
if(x>y)
return x;
else
return y;
}
int max(int x, int y)
{
int z;
if(x>y)
z=x;
else
z=y;
return z;
}//推荐写法,if...else...进行判断,retrun返回值,结构更清晰;
五.函数调用的方式
1.函数语句:函数单独作为一个语句,只完成一定的操作,无返回值。
例:printstars( );
2.函数表达式:返回一个确定的值以参加表达式的运算。
例:c= 2*max(a,b);
3.函数参数:函数调用作为另一个函数的实参。
例:m = max(a,max(b,c));