例无返回值函数 函数的沤回值 void swap(int x,int y ★返回语旬 i int temp temp=x 形式: return(表达式); y 或或 return表达式 y=temp; return; 心功能:使程序控制从被调用函数巡回到调用函数中, 同时把沤值带给调用函教 心说明: 若无 return语句,遇时,自动返回调用函数 若函数类型与 ireturn语句中表达式值的类型不一致,按前 者为准,自动转换--数调用转换 void型函数
函数的返回值 返回语句 ❖形式: return(表达式); 或 return 表达式; 或 return; ❖功能:使程序控制从被调用函数返回到调用函数中, 同时把返值带给调用函数 ❖说明: ⚫若无return语句,遇}时,自动返回调用函数 ⚫若函数类型与return语句中表达式值的类型不一致,按前 者为准,自动转换------函数调用转换 ⚫void型函数 例 无返回值函数 void swap(int x,int y ) { int temp; temp=x; x=y; y=temp; }
函数的汲回值 函数的返回值也就是函数值 #include <stdio. h> 是一个确定的值; int max(int x, int y) ④如果一个函数有返回值, 就必须使用 return语句; if(x>y) return x: ②一个函数中可以有一个以 se 上的 return语句,但是无论 return y; 执行到哪个 return语句,都 将结束函数的调用返回主调 void mainO 函数; return语句中的括号可以 int a, b, c, 省略, return后面的值可以 scanf(%d, %d", &a, &b); 是表达式。 c=max(a, b); printf( Max is%dm”,c);
函数的返回值 函数的返回值也就是函数值, 是一个确定的值; ①如果一个函数有返回值, 就必须使用return语句; ②一个函数中可以有一个以 上的return语句,但是无论 执行到哪个return语句,都 将结束函数的调用返回主调 函数; ③ return语句中的括号可以 省略,return后面的值可以 是表达式。 #include <stdio.h> int max(int x,int y) { if(x>y) return x; else return y; } void main() { int a,b,c; scanf(“%d,%d”,&a,&b); c=max(a,b); printf(“Max is %d\n”,c); }
函数值的类型 ①函数的类型即函数值的类 include <stdio.n 型如函数max的类型是int的, int max(int x, int y) 则函数值的类型也是int的;{ ②省略了类型说明的函数是 int int型的 T(x>Y)?x:y return(z); return语句中表达式的类} 型一般应与函数类型一致; ④如果不一致,则需要进行 void maint0 类型转化,只有数值型数据可{ 以进行自动类型转化,转化时 int a, b, c, 以函数类型为准。 scanf(%d, %d", &a, &b); c=max(a, b); printf(“ Max is%dn”,c);
函数值的类型 ①函数的类型即函数值的类 型,如函数max的类型是int的, 则函数值的类型也是int的; ②省略了类型说明的函数是 int型的; ③return语句中表达式的类 型一般应与函数类型一致; ④如果不一致,则需要进行 类型转化,只有数值型数据可 以进行自动类型转化,转化时 以函数类型为准。 #include <stdio.h> int max(int x,int y) { int z; z=(x>y)?x:y; return(z); } void main() { int a,b,c; scanf(“%d,%d”,&a,&b); c=max(a,b); printf(“Max is %d\n”,c); }
例函数带回不确定值 printstari 0 void printstarO printi("*");「{prin(”**") maino maino i int a; Int a; a=printstar(; 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); } 编译错误!
例函数返回值类型转换 main int max(float, float); 输入:23.42 float a b int ca scanf(%of, %of", &a, &b) 输出:23 c=max(a, b) printf(" Max is %/dn", c); max(float x, float y) i float z; FX>y?x:y; return(z)
例 函数返回值类型转换 main() { int max(float,float); float a,b; int c; scanf("%f,%f",&a,&b); c=max(a,b); printf("Max is %d\n",c); } max(float x, float y) { float z; z=x>y?x:y; return(z); } 输入:23.4 2 输出:23