如果a = 1,b = 2,c = 3 ...我想写一个宏,将它们像123这样连接起来。
但是当我尝试这个:

#include<stdio.h>
#define cat(a,b,c) a##b##c

int main()
{
int a=1,b=2,c=3,d;
d=cat(1,2,3); //Works
d=cat(a,b,c); // Returns an error...How to make this work?
return 0;
}

最佳答案

您不能-预处理程序不知道变量以及在预处理程序执行完后的任意时间运行程序时要为变量分配什么值。

关于c - 如何使用宏连接两个或多个整数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3119998/

10-14 18:57