清华大学出版社 TSINGHUA UNIVERSITY PRESS 运行情况如下: 5a 9 v 5,b=9 m a x=9, mi n=5 当输入a=5,b=9时,由于a<b, 将p1和p2交换。交换前的情况见图 (a),交换后见图(b)。 C程序设计(第三版) http://ccf.tsinghua.edu.cn 16
C程序设计(第三版) http://ccf.tsinghua.edu.cn 16 运行情况如下: 5,9↙ a=5,b=9 max=9,min=5 当输入a=5,b=9时,由于a<b, 将p1和p2交换。交换前的情况见图 (a),交换后见图(b)
清华大学出版社 TSINGHUA UNIVERSITY PRESS pl a a 8.b p p2 p2 b 8.b C程序设计(第三版) http://ccf.tsinghua.edu.cn 17
C程序设计(第三版) http://ccf.tsinghua.edu.cn 17
清华大学出版社 TSINGHUA UNIVERSITY PRESS 10.2.3指针变量作为函数参数 例10.3对输入的两个整数按大小顺序输出 #include <stdio h> void main() void swap (int *p 1, int*p 2) int a, b pointer 1 ointer 2 scanf(Io d,%d",&a,&b) pointer 1 =& a; pointer 2=& b; if a s b- swap( pointer 1 pointer 2) printf ("\n %d, %d\n",a,b); C程序设计(第三版) http://ccf.tsinghua.edu.cn 18
C程序设计(第三版) http://ccf.tsinghua.edu.cn 18 10.2.3 指针变量作为函数参数 例10 . 3 对输入的两个整数按大小顺序输出 #include <stdio.h> void main() {void swap(int *p1,int *p2); int a,b; int *pointer_1,*pointer_2; scanf(″%d,%d″,&a,&b); pointer_1 =&a; pointer_2 =&b; if(a<b= swap( pointer_1 , pointer_2 ); printf(″\n%d,%d\n″,a,b); }
清华大学出版社 TSINGHUA UNIVERSITY PRESS void swap (int *p 1, int *p 2) I int temp temp=*p 1: p2; *p 2=temp; C程序设计(第三版) http://ccf.tsinghua.edu.cn 19
C程序设计(第三版) http://ccf.tsinghua.edu.cn 19 void swap(int *p1,int *p2) { int temp; temp=*p1; *p1=*p2; *p2=temp; }
清华大学出版社 TSINGHUA UNIVERSITY PRESS p1 8. a a pointer_1 a pointer pointer 1 pointer 1 8 8 8. pointer 2 2 p2 pointer_ 2 8.b 8.b 8.b 8.b pointer 2 9 pointer 2 8.b 8.b (b) C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 20