这时赋值表达式:p2=p1;就 使p2与p1指向同一对象i此 时*p2就等价于i而不是j图 所示 如果执行如下表达式: *p2=*p1;则表示把p指向 的内容赋给p2所指的区域, 此时就变成图所示:
这时赋值表达式: p2=p1; 就 使p2与p1指向同一对象i,此 时*p2就等价于i,而不是j,图 所示: 如果执行如下表达式: *p2=*p1; 则表示把p1指向 的内容赋给p2所指的区域, 此时就变成图所示:
【例】输入a和b两个整数,按先大后小的顺序输 出a和b。分析程序 main() f int*pI, p2, * p, a, b scanf("%od, %d", &a, &b) 5 1=&ap2=&b if(a<b) ip=pI; pl=-p2; p2=p: printf( "na=%d, b=%dn", a, b); p 2 printf("max=od min=%dn",pl, * p2);
【例】输入a和b两个整数,按先大后小的顺序输 出a和b。分析程序: main( ) { int *p1,*p2,*p,a,b; scanf("%d,%d",&a,&b); p1=&a;p2=&b; if(a<b) {p=p1;p1=p2;p2=p;} printf("\na=%d,b=%d\n",a,b); printf("max=%d,min=%d\n",*p1, *p2); } 3 5 p1 p2