gpt4 book ai didi

c - 使用宏的缺点

转载 作者:行者123 更新时间:2023-11-30 19:32:55 25 4
gpt4 key购买 nike

在以下宏函数中,问题是什么:

#define STACK(x,y) (x=(int8_t)y)

在上面的宏定义中,是否会返回任何意外的输出

最佳答案

宏不返回值,它们只是在预处理步骤中被替换的构造。

现在想象一下像这样调用你的 STACK 宏:

STACK(x++, y++)
STACK(x, x++)

虽然它看起来像一个完全有效的 C 语法,但在情况 1 中扩展特定宏时会出现语法错误,但在情况 2 中会按预期工作。因此,这是一个令人困惑的结构。

关于c - 使用宏的缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46600356/

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