第10章函数进一步讨论2025年4月4日
2025年4月4日 第 10 章 函数进一步 讨论
第10章函数2目录指针作为函数参数2数组名作为函数参数
第10章 函数2 目 录 指针作为函数参数 1 2 数组名作为函数参数
第10章函数2指针作为函数参数指针可用作函数的形参和实参。将指针变量作为函数的形参一地址传递
第10章 函数2 指针作为函数参数 1 指针可用作函数的形参和实参。 将指针变量作为函数的形参—地址传递
第10章函数2参数swap(int *pl, int *p2)int temp;交换了temp=*pl;指针变量所指变量*p1=*p2;的值*p2=temp;printf("In%d,% d\n",*p1,*p2)mainO运行结果:inta,b;9.int *pa,*pb;a=5; b=9;9-pa=&a; pb=&b;swap(pa,pb);地址传递printf("\n%d,%d\n",a,b);printf("In%d,%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; int *pa,*pb; a=5; b =9; pa=&a; pb=&b; swap(pa,pb); 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>mainOmax min(int a,int b,int c,int *p,int *q)int x,y,zmax,min;Yint m,n;printf("请输入三个整数:");if(a>b)scanf("%d%d%d",&x,&y,&z);(m=a; n=b;}max min(x,y,z&max,&min);elseprintf("最大数=%d,最小数(m=b; n=a;}=%dn",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); }