如何使用c宏用符号连接空格

时间:2015-02-27 15:15:14

标签: c

#define var(N) variable ## N

var(1)得到variable1

我想变量,我该如何定义宏?

var()有效,但始终会发出警告。还有其他解决方案吗?

2 个答案:

答案 0 :(得分:2)

实际上,您提供的版本始终需要N的非空参数。如果你有一个现代的C编译器,你可以使用这个结构:

#define var(...) variable ## __VA_ARGS__

这接受空参数,你应该没事。

"现代"这意味着C截至1999年。

答案 1 :(得分:-2)

不要在宏中使用参数:

#define var(n) variable