有下列程序main(){ int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p; printf("%d",*(p++)); p
有下列程序main(){ int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p; printf("%d",*(p++)); printf("%d\n",**k);}運(yùn)行該程序,其輸出結(jié)果是A.4 B.22C.24 D.46
正確答案:C在本題中,程序首先定義了一個(gè)一維數(shù)組a,賦其初值,并定義一個(gè)同類型的指針變量p和一個(gè)指向指針的指針變量k,然后讓指針變量p指向數(shù)組的首地址,接著將指針變量p的地址值賦給指向指針的指針變量k。在第一條輸出語句中,首先我們需要弄清楚*(p++)的作用,它是先調(diào)用指針變量p的值,然后使其自加,輸出效果等價(jià)于*p,因此,最后輸出的結(jié)果是數(shù)組中的第一個(gè)元素。在第二條輸出語句中,我們需要弄明白**k的作用,指向指針的指針變量類似于指針變量,如果用**k表示一個(gè)數(shù)值,可以確定這條輸出語句的輸出結(jié)果是一個(gè)數(shù)值,而非地址
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。