【C语言-11】长代码的简化(宏定义)

时间:2026-02-17 04:07:42

1、打开C-Free,新建文件。

【C语言-11】长代码的简化(宏定义)

2、输入以下内容:

#include<stdio.h>

#include<windows.h>

#define BLUE SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE|FOREGROUND_INTENSITY); 

#define RED SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_INTENSITY);

#define GREEN SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_INTENSITY) 

main()

{

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_INTENSITY) ;  

printf("更改为:绿色"); 

BLUE printf("\n蓝色");

RED printf("\n红色");

GREEN ;printf("\n绿色\n"); 

【C语言-11】长代码的简化(宏定义)

3、运行结果如图:

【C语言-11】长代码的简化(宏定义)

4、P.S.如下的这条命令是更改控制台字体颜色的代码,详见《【C语言-22】让控制台输出不同颜色的字符》

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_INTENSITY) ;  

1、宏声明的形式为:

#define XXX abcdedfg

这样声明后XXX便完全替代了abcdefg;

如例中BLUE完全替代了SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE|FOREGROUND_INTENSITY); 

【C语言-11】长代码的简化(宏定义)

2、其效果与写出完整代码一模一样:

P.S.例子中主函数中的第一行代码是为了与宏定义作比较,以便于演示,实际是不需要的。

【C语言-11】长代码的简化(宏定义)

3、另外,宏替代的是所有字符代码,包括标点符号,因此如果宏中没有分号,在代码中记得加上,如图:

【C语言-11】长代码的简化(宏定义)

© 2026 途途旅游
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com