C中是否有'#'运算符?

如果是,则在代码中

enum {ALPS, ANDES, HIMALYAS};

以下内容将返回什么?
 #ALPS

最佳答案

C语言没有#运算符,但是预处理器(处理#include#define的程序)具有。预处理程序很简单,可以将#ALPS变成字符串"ALPS"

但是,此“stringify”运算符只能在#define预处理程序指令中使用。例如:

#define MAKE_STRING_OF_IDENTIFIER(x)  #x
char alps[] = MAKE_STRING_OF_IDENTIFIER(ALPS);

预处理程序会将上面的示例转换为以下示例:
char alps[] = "ALPS";

关于c - 什么是C中的 '#'运算符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7952903/

10-10 23:59