分析下列程序: #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) ;
}
程序的輸出結(jié)果為( )。
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,接著執(zhí)行if語句,發(fā)現(xiàn)ab成立,則通過交換p1、p2的值,即交換a、b所在存儲單元的地址,但是a、b的值并沒有發(fā)生變化。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。