Ble*_*mer 2 c operators operator-keyword
C中有'#'运算符吗?
如果是,那么在代码中
enum {ALPS, ANDES, HIMALYAS};
Run Code Online (Sandbox Code Playgroud)
以下将返回什么?
#ALPS
Run Code Online (Sandbox Code Playgroud)
Som*_*ude 18
C语言没有#运算符,而是预处理器(处理#include和#define执行的程序).预处理器简单成为#ALPS字符串"ALPS".
但是,此"stringify"运算符只能用于#define预处理器指令.例如:
#define MAKE_STRING_OF_IDENTIFIER(x) #x
char alps[] = MAKE_STRING_OF_IDENTIFIER(ALPS);
Run Code Online (Sandbox Code Playgroud)
预处理器将以上示例转换为以下示例:
char alps[] = "ALPS";
Run Code Online (Sandbox Code Playgroud)