函数的返回值 函数的返回值是通过 return语句获得的。定义 函数时应指定函数的类型(如缺省,则约定为整 型),函数的类型决定函数返回值的类型。 函数中若没有 return语句,并不表示函数不带 回返回值,而只是不带回一个用户所需要的、有 用的函数值。如果明确函数不带回值,则须在定 义函数时,在函数名前冠以void,表示空类型 或无类型。如 void putchar( c) char c
函数的返回值 函数的返回值是通过return 语句获得的。定义 函数时应指定函数的类型(如缺省,则约定为整 型),函数的类型决定函数返回值的类型。 函数中若没有return语句,并不表示函数不带 回返回值,而只是不带回一个用户所需要的、有 用的函数值。如果明确函数不带回值,则须在定 义函数时,在函数名前冠以 void ,表示空类型 或无类型。如: void putchar( c) char c ; { … … }
8-4函数的调用 函数调用的一般形式 无参函数调用:函数名() 有参函数调用:函数名(实参表列) 实参与形参须一一对应
8-4 函数的调用 函数调用的一般形式 无参函数调用 : 函数名 ( ); 有参函数调用 : 函数名 (实参表列); 实参与形参须一一对应
#include <stdio.h> 例:函数mm 追 i int a, b, c scanf("%od, %od", &a, &b) c=max(a, b) 调用max函数 printf("Max is od"e: a、b为实参, c=max(10, a+b); int max(int x, int y) 定义max函数, x、y为形参, int z 均为int型 return(z)
例 :函数调用时的数据传递。 #include <stdio.h> main() { int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("Max is %d",c); } int max(int x, int y) { int z; z=x>y?x:y; return(z); } 调用 max 函数, a 、b 为实参, c=max(10,a+b); 定义 max 函数, x 、y 为形参, 均为 int 型
函数调用方式 按函数调用在程序中的位置来分,可分为 函数语句如 getchar() 函数表达式如 c=100+sum(a,b):; 函数的返回值 函数参数如 作为另一函数的参数 printf(%/dn", sum(a, b) suml= sum(c+sum(a, b);
函数调用方式 按函数调用在程序中的位置来分,可分为 • 函数语句 如 getchar( ) ; • 函数表达式 如 c =100+sum(a,b) ; • 函数参数 如 printf(”%d\n”,sum(a,b)) ; sum1= sum(c+sum(a,b) ; 函数的返回值 作为另一函数的参数
对被凋函数的说明 若函数1调用函数2,我们通常称函数1为主调函 数,函数2为被调函数。 被调函数如果是库函数,则须在主调函数所在 的源程序文件的开头用 include命令包含相应的头 文件(如 include< stdio. h>)。 ·被调函数如果是用户自己定义的函数,且被调 函数与主调函数同在一个源文件中,则一般需在 主调函数中对被调函数的类型作说明 说明的形式:三种 函数调用 语句前没有 注意:与函数调用语句的区别 类型标识符 三种可以省略说明的情况
对被凋函数的说明 •若函数1调用函数2,我们通常称函数1为主调函 数,函数2为被调函数。 •被调函数如果是库函数,则须在主调函数所在 的源程序文件的开头用include命令包含相应的头 文件(如 include < stdio.h > )。 •被调函数如果是用户自己定义的函数,且被调 函数与主调函数同在一个源文件中,则一般需在 主调函数中对被调函数的类型作说明。 说明的形式:三种 注意:与函数调用语句的区别 三种可以省略说明的情况 函数调用 语句前没有 类型标识符