return后面的值可以是一个表达式。 例如,例8.2中的函数max可以改写成: max (int x, int y) re turn(x>y? x: y) (2)函数的返回值应当属于某一个确定的类型 在定义函数时指定函数返回值的类型。 2021/2/24
2021/2/24 return后面的值可以是一个表达式。 例如,例8.2中的函数max可以改写成: max(int x,int y) { return(x>y?x∶y); } (2) 函数的返回值应当属于某一个确定的类型, 在定义函数时指定函数返回值的类型
例如:下面是3个函数的首行: int max( float x, float y)/函数值为整型 char etter( char c1, char c2)/函数值为字符型 double min(intx,inty)/函数值为双精度型 在C语言中,凡不加类型说明的函数,自动按整型处 理。例8.2中的max函数首行的函数类型in可以省 写,用 Turbo c20编译程序时能通过,但用 Turbo C ++3.0编译程序时不能通过,因为C++要求所有函数 都必须指定函数类型。因此建议在定义时对所有函数 都指定函数类型。 20212/24
2021/2/24 例如:下面是3个函数的首行: int max(float x,float y) /* 函数值为整型 */ char letter(char c1,char c2) /* 函数值为字符型 */ double min(int x,int y) /* 函数值为双精度型 */ 在C语言中,凡不加类型说明的函数,自动按整型处 理。例8.2中的max函数首行的函数类型int可以省 写,用Turbo C 2.0编译程序时能通过,但用Turbo C ++ 3.0编译程序时不能通过,因为C++要求所有函数 都必须指定函数类型。因此,建议在定义时对所有函数 都指定函数类型
(3)在定义函数时指定的函数类型一般应该和 return语句中的表达式类型一致。 如果函数值的类型和 return语句中表达式的值不一致, 则以函数类型为准。对数值型数据,可以自动进行类 型转换。即函数类型决定返回值的类型。 (4)对于不带回值的函数,应当用“"void定 义函数为“无类型”(或称“空类型”)。这 样,系统就保证不使函数带回任何值,即禁止 在调用函数中使用被调用函数的返回值。此时 在函数体中不得出现 return语句 2021/2/24
2021/2/24 (3)在定义函数时指定的函数类型一般应该和 return语句中的表达式类型一致。 如果函数值的类型和return语句中表达式的值不一致, 则以函数类型为准。对数值型数据,可以自动进行类 型转换。即函数类型决定返回值的类型。 (4)对于不带回值的函数,应当用“void”定 义函数为“无类型”(或称“空类型”)。这 样,系统就保证不使函数带回任何值,即禁止 在调用函数中使用被调用函数的返回值。此时 在函数体中不得出现return语句
例83返回值类型与函运行情况如下 i include <stdio. h> 1.5,2.5 void main() Max is 2 i int ma x( float x float a b int C scanf %f,%f,",&a,&b) c=max(a,b) printf("Ma x i s %d\n",c) int max( float x, float y) i float z z为实型变量* Z=x>y:x: y return(z)
2021/2/24 例 8.3 返回值类型与函数类型不同 # include <stdio.h> void main() { int max(float x,float y); float a,b; int c; scanf("%f,%f,",&a,&b); c=max(a,b); printf("Max is %d\n",c); } int max(float x,float y) { float z; /* z为实型变量 */ z=x>y?x∶y; return(z); } 运行情况如下: 1.5, 2.5↙ Max is 2
584函数的调用 584.1函数调用的般式 函数调用的一般形式为:函数名(实参表列) 如果是调用无参函数,则“实参表列” 可以没有,但括弧不能省略。 如果实参表列包含多个实参,则各参数 间用逗号隔开。实参与形参的个数应相 等,类型应匹配。实参与形参按顺序对 应,一一传递数据。 2021/2/24
2021/2/24 §8.4 函数的调用 §8.4.1 函数调用的一般形式 函数调用的一般形式为: 函数名(实参表列) 如果实参表列包含多个实参,则各参数 间用逗号隔开。实参与形参的个数应相 等,类型应匹配。实参与形参按顺序对 应,一一传递数据。 如果是调用无参函数,则“实参表列” 可以没有,但括弧不能省略