第10章 丞数进一步 讨论 2025年4月2日
2025年4月2日 第 10 章 函数进一步 讨论
第10章函数2 目录 指针作为函数参数 2 数组名作为函数参数 国✉D
第10章 函数2 目 录 指针作为函数参数 1 2 数组名作为函数参数
第10章☒数2 指针作为函数参数 指针可用作函数的形参和实参。 将指针变量作为函数的形参一地址传递 M☒D
第10章 函数2 指针作为函数参数 1 指针可用作函数的形参和实参。 将指针变量作为函数的形参—地址传递
第10章函数2 swap(int *pl,int *p2) 参数 int temp; 交换了 temp=*p1; *pl=*p2; 指针变量所指变量 *p2=temp; 的值 printf("n%d,%d\n",*pl,*p2) mainO int a,b; 运行结果: a=5;b=9; 9,5 swap(&a,&b); 9,5 9,5 printf("\n%d,%d n",a,b); printf("n%od,%d\n",*pa,*pb)
第10章 函数2 指针作为函数参数 1 swap(int *p1, int *p2) { int temp; temp=*p1; *p1=*p2; *p2=temp; printf(“\n%d,%d\n”,*p1,*p2) } main() { int a,b; a=5; b =9; swap(&a,&b); printf("\n%d,%d\n",a,b); printf(“\n%d,%d\n”,*pa,*pb) } 地址传递 运行结果: 9, 5 9,5 9, 5 交换了 指针变量所指变量 的值
第10章☒数2 【例】编写求三个数中最大数和最小数的函数,要求不能用return语 句或全局变量将求得的最大数和最小数传回到主调函数中。 #include <stdio.h> max min(int a,int b,int c,int *p,int *q) mainO { int x,y,zmax,min; int m,n; printf('请输入三个整数:") if(a>b) scanf("%d%d%d",&x,&y,&z); {m=a;n=b;} max min(x,y,z&max,&min); else printf("最大数=%d,最小数 {m=b;n=a;} =%d小n",max,min); if(c>m) m=c; if(c<n)n=c; *p=m;/六间接引用变量max*/ *q=n;/÷间接引用变量min*/
第10章 函数2 【例】 编写求三个数中最大数和最小数的函数,要求不能用return语 句或全局变量将求得的最大数和最小数传回到主调函数中。 #include <stdio.h> max_min(int a,int b,int c,int *p,int *q) { int m,n; if(a>b) {m=a; n=b;} else {m=b; n=a;} if(c>m) m=c; if(c<n) n=c; *p=m; /*间接引用变量max*/ *q=n; /*间接引用变量min*/ } main() { int x,y,z,max,min; printf("请输入三个整数:"); scanf("%d%d%d",&x,&y,&z); max_min(x,y,z,&max,&min); printf("最大数=%d,最小数 =%d\n",max,min); }