uj5u.com熱心網友回復:
把宏展開再計算(宏不會判斷優先級,只是套代碼),所以NUM=(N+1+1)*N+1/2=4*2+0=8
uj5u.com熱心網友回復:
宏定義只是簡單的替換,NUM= (M+1)*M/2------------------->NUM=(N+1+1)*N+1/2 使用除法運算子“/”對兩個整數進行運算的時候,得到的結果也是一個整數。1/2得到的結果去掉小數部分得到的整數為 0。uj5u.com熱心網友回復:
等價替換之后是:(N+1+1) * N +1/2,把2帶進去看一下等于:(2+1+1) * 2 + 1 /2 = 4 * 2 + 0 = 8uj5u.com熱心網友回復:
宏定義就是等價替換;加括號和不加括號有很大區別~因為括號會影響運算的優先級~轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/12669.html
標籤:C語言
上一篇:qt的allocation of incomplete type問題怎么解決,一直改不出來
下一篇:檔案VCLFixPack.pas里呼叫Windows系統函式ReadProcessMemory編譯提示形參和實參不一致,請問怎么解決?
