精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • 結(jié)果是() A.10 B.11 C.12 D.13 #define MA(x) x*(x+3) main() {int a=1,b=2;printf("%d\n",MA(a+b);}

    結(jié)果是() A.10 B.11 C.12 D.13 #define MA(x) x*(x+3) main() {int a=1,b=2;printf("%d\n",MA(a+b);}
    c語言題目,求的是輸出結(jié)果,有勞了,
    其他人氣:280 ℃時間:2020-06-18 19:56:17
    優(yōu)質(zhì)解答
    MA(a+b)展開之后就是:
    a+b*(a+b+3) = 1 + 2*(1+2+3) = 13

    其實,在C語言里面,要定義一個宏時,要考慮到宏的參數(shù)有可能不是一個數(shù)值或者變量,而是一個表達式.因此,標(biāo)準的定義(正確的定義)應(yīng)該是:
    #define MA(x) (x)*((x)+3)
    這時,MA(a+b)展開就是:
    (a+b)*((a+b)+3) = (1+2)*((1+2)+3) = 3 * 6 = 18

    作為考點,應(yīng)該考 宏參數(shù)是否為表達式的情況.答案里面應(yīng)該增加一個18的選項,而不是10-13這種.實際中,很多程序員容易犯錯誤,導(dǎo)致程序出問題卻不容易查出原因.
    所以,此題出的比較差.
    我來回答
    類似推薦
    請使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點,以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機版