函数的值是指函数被调用之后,执行函数体中的程序段所取得的并返回给主调函数的值。如调用正弦函数取得正弦值,调用【例1】的max函数取得的最大数等。对函数的值(或称函数返回值)有以下一些说明:
1)
函数的值只能通过return语句返回主调函数。
return
语句的一般形式为:
return 表达式;
或者为:
return (表达式);
该语句的功能是计算表达式的值,并返回给主调函数。在函数中允许有多个return语句,但每次调用只能有一个return 语句被执行,因此只能返回一个函数值。
2)
函数值的类型和函数定义中函数的类型应保持一致。如果两者不一致,则以函数类型为准,自动进行类型转换。
3)
如函数值为整型,在函数定义时可以省去类型说明。
4)
不返回函数值的函数,可以明确定义为“空类型”,类型说明符为“void”。如【例2】中函数s并不向主函数返函数值,因此可定义为:
void s(int n)
{ ……
}
一旦函数被定义为空类型后,就不能在主调函数中使用被调函数的函数值了。例如,在定义s为空类型后,在主函数中写下述语句
sum=s(n);
就是错误的。
为了使程序有良好的可读性并减少出错, 凡不要求返回值的函数都应定义为空类型。
【例1】
int max(int a,int b)
{
if(a>b)return a;
else return b;
}
main()
{
int max(int a,int b);
int x,y,z;
printf("input two numbers:\n");
scanf("%d%d",&x,&y);
z=max(x,y);
printf("maxmum=%d",z);
}
【例2】
main()
{
int n;
printf("input number\n");
scanf("%d",&n);
s(n);
printf("n=%d\n",n);
}
int s(int n)
{
int i;
for(i=n-1;i>=1;i--)
n=n+i;
printf("n=%d\n",n);
}
这些是谭浩强教程里的 希望对你有所帮助