有以下程序: #define f(x)(x*x) main() { int i1,i2; il=f(8)/f(4); i2=f(4+4
有以下程序: #define f(x)(x*x) main() { int i1,i2; il=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%d\n",i1,i2); } 程序運(yùn)行后的輸出結(jié)果是 ______。
A.64,28
B.4,4
C.4,3
D.64,64
正確答案:C解析:對(duì)帶參數(shù)的宏的展開(kāi)只是將語(yǔ)句中宏名后面括號(hào)內(nèi)的實(shí)參字符串代替#define命令行中的形參。本題中“il=f(8)/f(4)”用“#define f(x) (x*x)”代替得il=(8*8)/(4*4),結(jié)果為4: “i2=f(4+4)/f(2+2)”用“#define f(x) (x*x)”代替得i2= (4+4*4+4)/(2+2*2+2),求得結(jié)果為3。故本題輸出的值為4,3。
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。