分析下列程序: #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;} prin

admin2010-09-05  30

问题 分析下列程序:
   #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语句,发现a<b成立,则通过交换p1、p2的值,即交换a、b所在存储单元的地址,但是a、b的值并没有发生变化。
转载请注明原文地址:https://kaotiyun.com/show/OKWp777K
0

最新回复(0)