分析下列程序: #include main() {int*p1,*p2,*p; inta=6,b=9; p1=&a;p2=&b; if
分析下列程序:
#include<stdio.h>
main()
{ int*p1,*p2,*p;
inta=6,b=9;
p1=&a;p2=&b;
if(a<B) {p=p1;p1=p2;p2=p;}
printf("%d,%d",*p1,*p2) ;
printf("%d,%d",a,B) ;
}
程序的输出结果为( )。
A.9,6 6,9
B.6,9 9,6
C.6,9 6,9
D.9,6 9,6
正确答案:A解析:通过p1=&a,p2=&b分别将a、b的地址赋给指针p1、p2,接着执行if语句,发现ab成立,则通过交换p1、p2的值,即交换a、b所在存储单元的地址,但是a、b的值并没有发生变化。
词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
