在C中创建关键字的预处理指令

时间:2019-03-06 18:09:27

标签: c compilation macros preprocessor

我要创建这个...

int main(void) {
  int i;

  for(i = 0; i < 10; i++){
    //Not an important Code
  }
  return 0;
}

以更奇特的方式创造疯狂的想法!
可以这样重写吗?

#define A f
#define B or

int main(void) {
  int i;

  AB(i = 0; i < 10; i++){
    //Not an important Code
  }
  return 0;
}

我需要知道是否可以创建由不同的 #defines

组成的简单 for 的指令

1 个答案:

答案 0 :(得分:3)

制作

#define A f
#define B or
#define C(x, y) x##y
#define D(x,y) C(x,y)

然后

D(A, B)(i = 0; i < 10; i++)

将被重写为

for (i = 0; i < 10; i++)