关于 do ....while() 的重要用法

在实际的编程练习中循环语句的使用频率是:for >while() >do....while()
    当然推荐使用的也是上面的顺序,但是在有的地方 do....while() 用的却不是循环
    的功能了,比如说:
    do
    {
                
        
    }while(0);
    此处,一般是不会去使用 do...while()语句的循环功能的,此处一般都是利用它的特性:即
    先执行一次循环体然后再去测试条件是否成立。但是 do....while(0) 语句条件测试肯定是不能够通过的,
    只是利用了它的上半部分而已,但是这个上半部分在某一些特定的场合却是十分有效的,因为它的逻辑就是只执行一次。/*尤其是在大量的宏中运用,
    运用的好的话,将会是事半功倍。

/*比如说这个宏定义:#define foo(x) do { bar(x); baz(x); } while (0)
    但是如果你是这样的话:#define foo(x) bar(x); baz(x)
    在一个 if()选择语句,可能答案就不一样了*/

比如说:代替 goto() 语句
    int something();
    int clear();

int foo()
{
 
        int error = dosomething();  //省略了dosomething的函数定义,意思明白即可。
 
        if(error = 1)  
        {  
            goto END;  
       }  u
 
        if(error = 2)  
        {  
               goto END;  
        }

END:clear();

关于 do ....while() 的重要用法相关推荐

  1. c语言中external,static关键字用法

    static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...

  2. Pandas_transform的用法

    先来看一个实例问题. 如下销售数据中展现了三笔订单,每笔订单买了多种商品,求每种商品销售额占该笔订单总金额的比例.例如第一条数据的最终结果为:235.83 / (235.83+232.32+107.9 ...

  3. Python中yield和yield from的用法

    yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...

  4. pytorch学习 中 torch.squeeze() 和torch.unsqueeze()的用法

    squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...

  5. python yield 和 yield from用法总结

    #例1. 简单输出斐波那契數列前 N 个数 #缺点:该函数可复用性较差,因为 fab 函数返回 None,其他函数无法获得该函数生成的数列 #要提高 fab 函数的可复用性,最好不要直接打印出数列,而 ...

  6. tf.nn.embedding_lookup()的用法

    函数: tf.nn.embedding_lookup( params, ids, partition_strategy='mod', name=None, validate_indices=True, ...

  7. OpenMP用法大全

    OpenMP基本概念 OpenMP是一种用于共享内存并行系统的多线程程序设计方案,支持的编程语言包括C.C++和Fortran.OpenMP提供了对并行算法的高层抽象描述,特别适合在多核CPU机器上的 ...

  8. Dorado用法与示例

    Dorado用法与示例 dorado用后总结 一.dorado概念 dorado的产品全名是"dorado展现中间件".从产品形态上dorado由两部分组成,第一部分是一个具有AJ ...

  9. TensorFlow用法

    TensorFlow用法 什么是TensorFlow TensorFlow是一个开源软件库,用于使用数据流图进行数值计算.图中的节点表示数学运算,而图的边缘表示流动的多维数据数组(张量).这种灵活的体 ...

  10. TensorFlow Keras API用法

    TensorFlow Keras API用法 Keras 是与 TensorFlow 一起使用的更高级别的作为后端的 API.添加层就像添加一行代码一样简单.在模型架构之后,使用一行代码,可以编译和拟 ...

最新文章

  1. 串联NSOperation知识点
  2. Android项目中出现的Plugin with id ‘kotlin-android‘ not found解决方法
  3. 电容屏物体识别_兆易创新的传感器布局:电容/光学/超声指纹/ToF全面发力
  4. 深入剖析js命名空间函数namespace
  5. python爬虫程序框架的理论是什么_Python网络爬虫(scrapy框架简介和基础应用)
  6. JavaScript事件处理程序的3种方式
  7. centos 7 163 yum 源 python 2.7.5
  8. Unity2017探究Layout布局
  9. 用keil5将程序下载到板子里
  10. 计算机启动时默认输入法设置,怎么把输入法设置成默认(怎么设置首选输入法)...
  11. Hadoop 面试题
  12. 牛逼的电商运营为什么不自己开店铺要去打工?(知乎精选)
  13. ROS仿真环境安装与配置
  14. 基于元数据规则的大数据解决方案
  15. 前15天mysql_15天快速学习数据库Mysql基础操作命令
  16. html表格中怎么将背景颜色虚化,如何在Photoshop中制作效果惊艳模糊背景!
  17. 重要:关于PPT转图片需要注意的问题
  18. 流畅的python第十四章可迭代的对象,迭代器和生成器学习记录
  19. vue使用ckeditor4富文本编辑器配置
  20. NKD 编译通过,但是eclipse提示报错 linux

热门文章

  1. JavaScript mongodb(数据库)简单值
  2. 立创EDA助力2021全国电赛数百万奖学金!
  3. Ubuntu: AppImage格式安装、卸载
  4. 《风投出50万买断她网站广告位却被拒绝》
  5. Linux基础面试篇
  6. mysql修改初始化得到的密码
  7. 案例实战:用户评论情感分析模型
  8. android TP
  9. 【031】基于51单片机的超声波倒车雷达系统(带温度显示补偿)Proteus仿真设计
  10. 讲道理 | 计算正交投影算子