851画数的定义(函数冒值类望 5.1.1一般格式 无返回值void 合法标识符 现代风格 函数类型函数名(形参类型说明表) 函数体 说明部分 语句部分 例无参函数 printstar( { printf(“*****n”) 或 printstar(void) 空 printf(******n1”)
§5.1 函数的定义 5.1.1 一般格式 合法标识符 函数返回值类型 缺省int型 无返回值void 函数体 函数类型 函数名(形参类型说明表) { 说明部分 语句部分 } 现代风格: 例 有参函数(现代风格) int max(int x,int y) { int z; z=x>y?x:y; return(z); } 例 有参函数(现代风格) int max(int x, y) { int z; z=x>y?x:y; return(z); } 例 空函数 dummy( ) { } 函数体为空 例 无参函数 printstar( ) { printf(“**********\n”); } 或 printstar(void ) { printf(“**********\n”); }
传统风格:函数类型函数名(形参表) 形参类型说明 说明部分 语句部分 例有参函数(传统风格) int max(x,y) Int x,y i inte; return (z)
函数类型 函数名(形参表) 形参类型说明 { 说明部分 语句部分 } 传统风格: 例 有参函数(传统风格) int max(x,y) int x,y; { int z; z=x>y?x:y; return(z); }
例5.1】编写函数,求三个整型参数的最大值。 int max( int xI,intx2,intx3)/*定义函数的返回值类型,函数名,形参* fint max; if(x1>2)max x1 else max- X2 if(max<x3)maxx3;*通过比较得到三个数的最大值放到max中* return(max 3); /*返回运算结果*
int max(int x1,int x2,int x3) /*定义函数的返回值类型,函数名,形参*/ {int max; if (x1>x2) max=x1; else max=x2; if (max<x3) max=x3; /*通过比较得到三个数的最大值放到max中*/ return(max); /*返回运算结果*/ } 【例5.1】编写函数,求三个整型参数的最大值
§5.12函数的返回值 ★返回语句 例无返回值函数 void swap(int x, int y) 令形式: return(表达式); i int temp 或 return表达式 temp; 或 retur 冷功能:使程序控制从被调用4y=emp 时把返值带给调用函数 今说明: 函数中可有多个 return语句 若无 return语句,遇到函数结束的“}”时,自动返回调用函数 若函数类型与 return语句中表达式值的类型不一致,按前者为進, 自动转换---函数调用转换 ●void型函数:无返回值的函数
§5.1.2 函数的返回值 返回语句 ❖形式: return(表达式); 或 return 表达式; 或 return; ❖功能:使程序控制从被调用函数返回到调用函数中,同 时把返值带给调用函数 ❖说明: ⚫函数中可有多个return语句 ⚫若无return语句,遇到函数结束的“}”时,自动返回调用函数 ⚫若函数类型与return语句中表达式值的类型不一致,按前者为准, 自动转换------函数调用转换 ⚫void型函数:无返回值的函数 例 无返回值函数 void swap(int x,int y ) { int temp; temp=x; x=y; y=temp; }
例无返回值的函数返回后带回不确定值 printstar( void printstarO print("******) i printf( *水水半水半水水*水m maino main i int a i int a a=printstarO a=printstaro printf("%od", a) printf("%/od", a) 输出:10 编译错误!
printstar() { printf("**********"); } main() { int a; a=printstar(); printf("%d",a); } 例 无返回值的函数返回后带回不确定值 输出:10 void printstar() { printf("**********"); } main() { int a; a=printstar(); printf("%d",a); } 编译错误!