c语言宏函数怎么传递宏参数_C语言中的宏参数评估
c語言宏函數怎么傳遞宏參數
We can define a function like Macro, in which we can pass the arguments. When a Macro is called, the Macro body expands or we can say Macro Call replaces with Macro Body.
我們可以定義一個函數,例如Macro,可以在其中傳遞參數。 調用宏時,宏主體會展開,或者可以說宏調用被宏主體替換 。
Now, the important thing is that: How Macro arguments evaluate? - "Macro arguments do not evaluate before Macro expansion, they evaluate after the expansion."
現在,重要的是: 宏參數如何計算? - “宏參數在宏擴展之前不評估,而在擴展之后評估。”
Consider the example:
考慮示例:
#include <stdio.h>#define CALC(X,Y) (X*Y)int main() { printf("%d\n",CALC(1+2, 3+4));return 0; }Output
輸出量
11Explanation:
說明:
If you are thinking that 1+2 and 3+4 will be evaluated before the expansion and it will be expanded as 3*7 then, you are wrong.
如果您認為在擴展之前將對1 + 2和3 + 4進行求值,并且將其擴展為3 * 7,那么您錯了。
The arguments evaluate after the call, thus Macro CALC(1+2,3+4) will be expanded as = (1+2*3+4) = (1+6+4) =(11).
參數在調用后求值,因此Macro CALC(1 + 2,3 + 4)將擴展為=(1 + 2 * 3 + 4)=(1 + 6 + 4)=(11) 。
Finally, the output will be 11.
最后, 輸出將為11 。
翻譯自: https://www.includehelp.com/c-programs/macro-arguments-evaluation-in-c.aspx
c語言宏函數怎么傳遞宏參數
總結
以上是生活随笔為你收集整理的c语言宏函数怎么传递宏参数_C语言中的宏参数评估的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css复选框样式_使用CSS样式复选框
- 下一篇: txt文本变为粗体_如何在PHP中使文本