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

嵌入式杂牌军

共 2260字,需浏览 5分钟

 · 2021-08-09


扫描二维码

获取更多精彩

嵌入式杂牌军


                                                编辑|追梦星空

                                           公众号|嵌入式杂牌军

✎ 编 者 悟 语

    

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


文 章 导 读


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


软实力专辑


软件推荐专辑


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


浏览 16
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

举报