小编use*_*152的帖子

如何控制C宏优先级

#define VAL1CHK 20

#define NUM 1

#define JOIN(A,B,C) A##B##C

int x = JOIN(VAL,NUM,CHK);
Run Code Online (Sandbox Code Playgroud)

以上代码我的期望是

int x = 20;
Run Code Online (Sandbox Code Playgroud)

但是当宏扩展到时,我得到编译错误

int x = VALNUMCHK; // Which is undefined
Run Code Online (Sandbox Code Playgroud)

如何使它首先NUM被替换并被JOIN使用?

c macros

2
推荐指数
1
解决办法
114
查看次数

标签 统计

c ×1

macros ×1