另一种开关打印信息的方式

嵌入式杂牌军

共 2260字,需浏览 5分钟

 ·

2021-08-09 02:08


扫描二维码

获取更多精彩

嵌入式杂牌军


                                                编辑|追梦星空

                                           公众号|嵌入式杂牌军

✎ 编 者 悟 语

    

      找到懈怠的因素,会让你了解诱发自身分心的原因,但这并不代表你能做到专注,很多时候专注需要的是放下与看开以及足够明确的目标/目的(知足、压力、紧张通常是专注者所处的状态),只有这样你才能心无旁骛。


文 章 导 读


    今天给小伙伴们介绍另一种开关打印信息的方式,即用静态变量和静态函数结合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。



    今天就到这吧,希望对小伙伴有所帮助哈,喜欢的话欢迎转发、点赞、分享、在看哈,



相关推荐


宏定义中省略号在调试中的妙用


static关键字的3种特性


指针数组为什么不能这样初始化


数组与指针不能混用的情况


专辑分享


Linux专辑


C语言专辑


软实力专辑


软件推荐专辑


欢迎关注我的公众号,一起撸代码,玩技术


浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报