Advertisement

C语言tips:在预处理中使用#和##

阅读量:

字符串化与连接技术

  • 字符串化

    • 拼接,即连接

在C语言的宏定义机制中,存在两个具有特殊功能的符号,分别是 # 与 ## 。这两个符号所具备的独特(令人费解)特性,能够产生非常强大的作用!

# 字符串化

在C语言中,宏定义功能允许通过使用#符号,将后续参数转换为对应的字符串形式。

复制代码
    #include <stdio.h>
    
    // 将参数a 转化为字符串
    #define change(a) #a
    
    int main() {
    	printf(change(Hello World!\n));
    	return 0;
    }
    
    
      
      
      
      
      
      
      
      
      
    

此方面内容,对于在C语言环境下实现输出内容的着色处理,具有显著的辅助作用。

复制代码
    #include <stdio.h>
    
    #define COLOR(a, b) "\033[" #b "m" a "\033[0m"
    #define GREEN(a)    COLOR(a, 32)
    
    int main() {
    	printf(

全部评论 (0)

还没有任何评论哟~