gpt4 book ai didi

C 编程宏乘法

转载 作者:行者123 更新时间:2023-12-03 23:24:50 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:




9年前关闭。




Possible Duplicate:
C Macros and use of arguments in parentheses



我发现这个宏观问题非常有趣。

如果以下代码被定义为宏
#define MULT(x, y) x * y

函数调用为 int z = MULT(3 + 2, 4 + 2); .
期望的输出是 3+2=5 和 4+2=6 并且 5*6 是 30。

但是返回的输出是 13。
它取为 3+2*4+2。因此,根据运算符的优先级,它首先评估 2*4。

这里有什么修复方法?
对于这些较小的功能,哪一个是有效的?定义函数还是使用宏?

最佳答案

尝试类似:

#define MULT(x, y) ((x)*(y))

关于C 编程宏乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10848083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com