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/