例将数从大到小输出 swap(int * pl, int *p2) i int p (main) 2000 整型变量a p 2002 整型变量b p 2004 :指针 pointer_1 址地Pm时200 指针 pointer2 2002 main( 2008 i int a, b 200A int*pointer 1, pointer 200C scant("%od, %od", &a, &b) 200E pointer_1=&a, pointer_2=&b; ko10 if(a<b)swap(pointer l, pointer 2) printf("n%d, %od n", a, b) 运行结果:9,5
swap(int *p1, int *p2) { int p; p=*p1; *p1=*p2; *p2=p; } main() { 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); } …... 2000 2008 200A 2002 2004 2006 200C 200E 2010 ... 5 9 整型变量a 整型变量b (main) 指针pointer_1 指针pointer_2 2000 2002 5 9 例 将数从大到小输出 运行结果:9,5 地址传递
例将数从大到小输出 swap(int pl, int*p2) i int*p (main) 2000 整型变量a p-p Int X, 2002 整型变量b *Dl=*p2: 9 ,Int &x 2004 指针 pointer_1 草p2=*p; 2000 2006 指针1 2002 pointer 2 编译警告! 2008 mal 结果不对!COPY20c(swap) 十指针pl Int a, b, 2000 int pointer l, "pointer 2 200C 指针p2 2002 scant("%od, %d", &a, &b) 200E 指针p pointer 1=&a; pointer 2=&b 假设2000 if(a<b) swap(pointer 1, pointer 2) printf("n%d, %odn", a, b) 指针变量在使用 必须赋值 运行结果:9,9
swap(int *p1, int *p2) { int *p; *p=*p1; *p1=*p2; *p2=*p; } main() { 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); } 运行结果:9,9 编译警告! 结果不对! int x; int *p=&x;x; 例 将数从大到小输出 …... 2000 2008 200A 2002 2004 2006 200C 200E 2010 ... 5 9 整型变量a 整型变量b (main) 指针pointer_1 指针pointer_2 2000 2002 9 9 2000 2002 COPY (swap) 指针p1 指针p2 指针p **** 假设2000 指针变量在使用前 必须赋值!
例将数从大到小输出 /*ch932c* (main) swap(int x, int y) 200 整型a i int t: 2002 整型b X; Xy,y= 2004 ointer l 值传递 2000 2006 pointer 2 mal 2002 2008 Int a b COPY 200 (swap) 整型x int *pointer l, * pointer 2 200C 整型b scanf("%od, %od", &a, &b) pointer 1=&a; pointer 2=&b 200E 整型t 5 if(a<b) swap( pointer I, "pointer 2) 2010 printf("n%d, % n", a, b) 运行结果:5,9
/*ch9_32.c*/ swap(int x,int y) { int t; t=x; x=y; y=t; } main() { 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); } 运行结果: 5 , 9 例 将数从大到小输出 值传递 …... 2000 2008 200A 2002 2004 2006 200C 200E 2010 ... 59 整型 a 整型 b (main) pointer_1 pointer_2 2000 2002 9 COPY (swap) 整型 x 整型 b 整型 t 5595
例将数从大到小输出 swap(int pl, int*p2) i int *p (main) p-p 2000 整型a p 1=p2 5 2002 整型b pz-p 地址传递 204 pointer 1 2000 2006 pointer 2 main 2002 i int a, b COPYY2008 swap 2d0 指针pl int *pointer 1. pointer 2 2002 200C 指针p2 scanf(%d, %d", &a, &b) 2000 pointer l=&a; pointer 2=&b 2d0E 指针 2000 if(a<b) swap(pointer 1, pointer 2) 2010 printf("%d,%d"* pointer 1, pointer 2); 运行结果:5,9
运行结果:5,9 例 将数从大到小输出 swap(int *p1, int *p2) { int *p; p=p1; p1=p2; p2=p; } main() { 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("%d,%d",*pointer_1,*pointer_2); } …... 2000 2008 200A 2002 2004 2006 200C 200E 2010 ... 5 9 整型a 整型b (main) pointer_1 pointer_2 2000 2002 2000 2002 COPY (swap) 指针p1 指针p2 指针p 2000 **** 地址传递 2000 2002
与组 指铅与组
指针与数组 指针与数组 指针与数组