4. 下面程序的运行结果是( ) # lnclude <stdio.h> main( ) { int *p1,*p2,*p; int a=5, b=8; p
4. 下面程序的运行结果是( ) # lnclude <stdio.h> main( ) { int *p1,*p2,*p; int a=5, b=8; p
日期:2018-05-09 17:19:48 人气:1
结果为A。
*p1,*p2,*p为三个指针;
p1=&a;P2=&b;p1获得a的地址,指向a,p2获得b的地址,指向b;
if(a<b) { p=p1;pl=p2;p2=p;},因为5<8,因此执行语句,这是个交换p1,p2指向的语句,所以p1变更为指向b,p2指向a;
printf(”%d, %d”,*P1,*P2);表示输出p1,p2所指向位置的值,即8,5.
printf(” %d, %d”, a, b);输出a,b的值,即5,8