(2)函数类型 ①函数类型应与return语句中“返回值表达式” 的类型一致。 如果不一致,则以函数类型为准。 ②如果缺省函数类型,则系统一律按t型处理。 良好的程序设计习惯: 为了使程序具有良好的可读性并减少出错,将 无返回值函数定义为空类型void; 同时,也不使用系统对函数类型的缺省处理 2024/10/28 6
2024/10/28 6 (2) 函数类型 ①函数类型应与return语句中“返回值表达式” 的类型一致。 如果不一致,则以函数类型为准。 ②如果缺省函数类型,则系统一律按int型处理。 良好的程序设计习惯: 为了使程序具有良好的可读性并减少出错,将 无返回值函数定义为空类型void; 同时,也不使用系统对函数类型的缺省处理
「案例7.1]定义一个求两个整数中极大值的max0函数。 /*功能:求2个整数中的较大数*/ /*形参:2个,整型 对函数的注释 /*返回值:2个整数中的较大数*/ int max(int n1,int n2) /*函数定义/ return nl>n2 nl n2); /*/ void main(void) int max(int nl,int n2); /*对被调用函数进行说明*/ int numl,num2; printf("input two numbers:") scanf("%d%d",&numl,&num2); printf("max-%d n",max(numl,num2)); 2024/10/28 7
2024/10/28 7 [案例7.1] 定义一个求两个整数中极大值的max()函数。 /*功能:求2个整数中的较大数 */ /*形参:2个,整型 */ /*返回值: 2个整数中的较大数 */ int max( int n1, int n2) /*函数定义 */ { return ( n1 > n2 ? n1 : n2); } /**/ void main( void ) { int max(int n1, int n2); /*对被调用函数进行说明*/ int num1,num2; printf("input two numbers: "); scanf("%d%d", &num1, &num2); printf("max=%d\n", max(num1, num2)); } 对函数的注释
3、说明 (1)函数定义不允许嵌套。 一个函数的定义,可以放在程序中的任意位置, 但不能在一个函数的函数体内,即不能嵌套定义。 例如:main() {. int max((.){.} } (2)空函数一函数体为空的无参函数: [函数类型] 函数名(void)X} 2024/10/28 8
2024/10/28 8 3、说明 (1)函数定义不允许嵌套。 一个函数的定义,可以放在程序中的任意位置, 但不能在另一个函数的函数体内,即不能嵌套定义。 例如:main( ) {. int max(.) {.} } (2)空函数──函数体为空的无参函数: [函数类型] 函数名( void ){ }
7.1.2函数调用与返回 1、对被调用函数的说明和函数原型 (1)函数说明的一般格式 在新标准中,采用函数原型方式,对被调用函数 进行说明: 函数类型函数名(形参表); 2024/10/28 9
2024/10/28 9 7.1.2 函数调用与返回 1、对被调用函数的说明和函数原型 (1) 函数说明的一般格式 在新标准中,采用函数原型方式,对被调用函数 进行说明: 函数类型 函数名(形参表);
(2)函数说明的两种方式 ①谁调用谁说明:函数说明语句放在调用函数的 函数体中。 例如,在[案例7.1]主函数main0中: void main(void int max(int nl,int n2); 对被调用函数进行说明 2024/10/28 10
2024/10/28 10 (2) 函数说明的两种方式 ① 谁调用谁说明:函数说明语句放在调用函数的 函数体中。 例如,在[案例7.1]主函数main()中: void main( void ) { int max( int n1, int n2); . } 对被调用函数进行说明