c语言宏定义嵌套问题,代码如下

Python010

c语言宏定义嵌套问题,代码如下,第1张

宏是完全替换的,写宏的时候注意括号:

#define min2(a, b) ((a) <(b) ? (b) : (a))

#define min3(a,b,c) min2((a), min2((b), (c)))

你在试试。

可以嵌套:#define a bb(不能是aa)

#define bb 123

预编译时a会变为123

不可递归:#define c 1+c

或#define c 1+b

#define b 1+c

预编译时c会变成1+1+1+1+1+......无限循环