另一种开关打印信息的方式
扫描二维码
获取更多精彩
嵌入式杂牌军
编辑|追梦星空
公众号|嵌入式杂牌军
找到懈怠的因素,会让你了解诱发自身分心的原因,但这并不代表你能做到专注,很多时候专注需要的是放下与看开以及足够明确的目标/目的(知足、压力、紧张通常是专注者所处的状态),只有这样你才能心无旁骛。
文 章 导 读
今天给小伙伴们介绍另一种开关打印信息的方式,即用静态变量和静态函数结合if语句来实现打印信息的开关,小伙伴们可以对比下用宏定义的实现方式哈!
阅读过程中有什么问题可以后台交流哈,!
1 实现的原理
代码中主要内容说明如下:
① 静态变量作为开关。
静态变量的特性可以看我这篇文章——static关键字的3种特性。
② 静态函数:if语句判断开关,决断printf是否打印。
if(PrintSwitch)printf("%s\n",msg);
③ 这种方式与另一种方式的对比。
宏定义的方式可以看下我这篇文章——宏定义中省略号在调试中的妙用。
它们的主要区别是一个用宏作为开关,一个用静态变量作为开关。
2 实例代码
1)实例代码
下面代码可以批量开关打印调试代码。
#include <stdio.h>
#include <stdlib.h>
static int PrintSwitch = 1; // 打印开关,1为开,0为关
static void PrintFunc(char *msg) // 打印函数
{
if(PrintSwitch)printf("%s\n",msg);
}
int main(int argc, char *argv[])
{
PrintFunc("打印测试!"); // 开关打开正常打印,开关关闭打印语句失效
return 0;
}
说明都在代码注释中了,。
2)运行结果
① 开关打开时的情况。
PrintSwitch = 1。
② 开关关闭时的情况。
PrintSwitch = 0。
今天就到这吧,希望对小伙伴有所帮助哈,喜欢的话欢迎转发、点赞、分享、在看哈,。
欢迎关注我的公众号,一起撸代码,玩技术!