清华大学出版社 TSINGHUA UNIVERSITY PRESS return后面的值可以是一个表达式。 例如,例8.2中的函数max可以改写成 m ax (int x, int y return(x>y? x.y) (2)函数的返回值应当属于某一个确定的类型, 在定义函数时指定函数返回值的类型
return后面的值可以是一个表达式。 例如,例8.2中的函数max可以改写成: max(int x,int y) { return(x>y?x∶y); } (2) 函数的返回值应当属于某一个确定的类型, 在定义函数时指定函数返回值的类型
三化一E 例如:下面是3个函数的首行 int max( float x, float y)/*函数值为整型* char letter( char c1, char c2)/*函数值为字符型*/ double min(ntx,nty)/函数值为双精度型* 在C语言中,凡不加类型说明的函数,自动按整型处 理。例8.2中的max函数首行的函数类型int可以省 写,用 Turbo c2.0编译程序时能通过,但用 Turbo c ++3.0编译程序时不能通过,因为C++要求所有函 数都必须指定函数类型。因此建议在定义时对所有函 数都指定函数类型
例如:下面是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)对于不带回值的函数,应当用“vod定 义函数为“无类型”(或称“空类型”)。这 样,系统就保证不使函数带回任何值,即禁止 在调用函数中使用被调用函数的返回值。此时 在函数体中不得出现 return语句
(3)在定义函数时指定的函数类型一般应该和 return语句中的表达式类型一致。 如果函数值的类型和return语句中表达式的值不一致, 则以函数类型为准。对数值型数据,可以自动进行类 型转换。即函数类型决定返回值的类型。 (4)对于不带回值的函数,应当用“void”定 义函数为“无类型”(或称“空类型”)。这 样,系统就保证不使函数带回任何值,即禁止 在调用函数中使用被调用函数的返回值。此时 在函数体中不得出现return语句
例83返回值类型与运行情况如下: include <stdio.h> 1.5,2,5Y void main o Ma aX丨s 2 t int m a x (float x, float a, b int c scanf ("%f,%f,,&a,&b) c=m a x (a, b): printf ("Max i s %d\n ",c); int max (float x, float y i float z /z为实型变量 z =X>y? : yi return(z)
例 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
清华大学出版社 TSINGHUA UNIVERSITY PRESS §8.4函数的调用 §84.1函数调用的一般形式 函数调用的一般形式为:函数名(实参表列) 如果是调用无参函数,则“实参表列” 可以没有,但括弧不能省略。 如果实参表列包含多个实参,则各参数 间用逗号隔开。实参与形参的个数应相 等,类型应匹配。实参与形参按顺序对 应,一一传递数据
§8.4 函数的调用 §8.4.1 函数调用的一般形式 函数调用的一般形式为: 函数名(实参表列) 如果实参表列包含多个实参,则各参数 间用逗号隔开。实参与形参的个数应相 等,类型应匹配。实参与形参按顺序对 应,一一传递数据。 如果是调用无参函数,则“实参表列” 可以没有,但括弧不能省略