【发布时间】:2015-12-02 13:24:36
【问题描述】:
我定义一个宏两次如下:
#define a 2
#define a 3
我认为代码中任何出现的a 都会被2 替换,而当遇到#define a 3 时,代码中没有更多的as 可用以替换为3,所以2 会优先。
但是当我执行它时a被3替换了,为什么?
【问题讨论】:
-
这不是警告吗?你能解释一下为什么你不想精确定义这种情况吗?
-
是的,这是一个警告。我只是想知道这是如何工作的。
标签: c macros c-preprocessor