##在#define指令中的含义是什么

时间:2015-04-11 12:17:17

标签: c c-preprocessor string-concatenation

请用解释告诉我答案:

#define f(g,h) g##h

main(){
  printf("%d",f(100,10));
}

1 个答案:

答案 0 :(得分:6)

##用于连接##之前的任何内容以及之后的内容。它用于连接。

您可以查看reference了解详情

  

#中的任何两个连续标识符之间的##运算符   replacement-list在两个标识符上运行参数替换   (首先不进行宏扩展)然后连接结果。   此操作称为“连接”或“标记粘贴”。