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

2025-09-25 17:23:19

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

17【C语言-00】编程软件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) ;  

2【C语言-22】让控制台输出不同颜色的字符

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】长代码的简化(宏定义)

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢