下列程序的輸出結(jié)果是int b=2;int func(int *a){ b+=*a; return(b);}main(){ int a=2, res=2; r
下列程序的輸出結(jié)果是int b=2;int func(int *a){ b+=*a; return(b);}main(){ int a=2, res=2; res += func(&a); printf("%d\n",res);} A.2 B.4
C.6 D.8
正確答案:C在本題程序中,首先定義了一個全局整型變量b,并給其賦初值為2,然后定義一個函數(shù)func,該函數(shù)帶有一個指針類型的形參,在函數(shù)體中,通過形參的值來改變?nèi)肿兞縝的值,b+=*a等價于b=b+(*a),然后通過return語句返回計算后的變量b的結(jié)果。在主函數(shù)中,定義兩個整型變量a和res,并都賦初值為2,然后調(diào)用func函數(shù),傳遞的形參是變量a的地址,即使形參指針變量a指向?qū)崊⒆兞縜的值,通過b+=*a計算,可以得到b=2+2=4。由于變量b是一個全局變量,作用域是整個程序,而非函數(shù)func,因此,在主函
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。