如何使用宏连接两个或多个整数?

Sad*_*que 2 c c-preprocessor

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

#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;
}
Run Code Online (Sandbox Code Playgroud)

Jer*_*fin 10

你不能 - 当预处理器完成执行后程序在任意时间运行时,预处理器不知道变量以及要分配给它们的值.

  • 换句话说,预处理器只处理令牌而已. (3认同)