#include<stdio.h>
#define xjoin(x,y) x ## y
#define join(x,y) xjoin(x,y)
int join(join(join(x,y),z),0)()
{
return 3;
}
int main(int argc, char *argv)
{
int i = xyz0();
printf("%d /n",i);
return 0;
}
输出为 3;
结论 :由此可以得出宏的解析是由外而内层层解析的。
为了更加肯定,我再做一下测试:
此输出为: MACRO_1(1), MACRO_1(1)
本文通过两个实例探讨了C预处理器中宏定义的展开顺序。实验表明宏的解析遵循由外及内的原则,这对于理解复杂的宏定义及其作用至关重要。
2687

被折叠的 条评论
为什么被折叠?



