【发布时间】:2022-09-24 19:24:53
【问题描述】:
//foo.h
#define X TEST-9
#define TEST 10
//foo.c
#include<stdio.h>
#include\"foo.h\"
int main(void)
{
int a = X;
printf(\"%d\\n\", a);
}
当我跑步时:
gcc -o foo foo.c -Wall -Wextra
运行时没有输出:
./foo
结果是:1
我的问题是:
X引用了TEST,但是TEST是在X之后定义的,为什么X可以正确展开
标签: macros c-preprocessor