C中的#和##运算符?
在本节中,我们将了解C中的Stringize运算符(#)和TokenPasting运算符(##)。Stringize运算符是预处理程序运算符。它向编译器发送命令以将令牌转换为字符串。我们在宏定义中使用此运算符。
使用字符串化运算符,我们可以将一些文本转换为字符串,而无需使用任何引号。
示例
#include<stdio.h>
#define STR_PRINT(x) #x
main() {
printf(STR_PRINT(This is a string without double quotes));
}输出结果
This is a string without double quotes
令牌粘贴运算符是预处理程序运算符。它向编译器发送命令,以将两个标记添加或连接到一个字符串中。我们在宏定义中使用此运算符。
示例
#include<stdio.h>
#define STR_CONCAT(x, y) x##y
main() {
printf("%d", STR_CONCAT(20, 50));
}输出结果
2050