关于 do ....while() 的重要用法
关于 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() 的重要用法相关推荐
- c语言中external,static关键字用法
static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...
- Pandas_transform的用法
先来看一个实例问题. 如下销售数据中展现了三笔订单,每笔订单买了多种商品,求每种商品销售额占该笔订单总金额的比例.例如第一条数据的最终结果为:235.83 / (235.83+232.32+107.9 ...
- Python中yield和yield from的用法
yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...
- pytorch学习 中 torch.squeeze() 和torch.unsqueeze()的用法
squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...
- python yield 和 yield from用法总结
#例1. 简单输出斐波那契數列前 N 个数 #缺点:该函数可复用性较差,因为 fab 函数返回 None,其他函数无法获得该函数生成的数列 #要提高 fab 函数的可复用性,最好不要直接打印出数列,而 ...
- tf.nn.embedding_lookup()的用法
函数: tf.nn.embedding_lookup( params, ids, partition_strategy='mod', name=None, validate_indices=True, ...
- OpenMP用法大全
OpenMP基本概念 OpenMP是一种用于共享内存并行系统的多线程程序设计方案,支持的编程语言包括C.C++和Fortran.OpenMP提供了对并行算法的高层抽象描述,特别适合在多核CPU机器上的 ...
- Dorado用法与示例
Dorado用法与示例 dorado用后总结 一.dorado概念 dorado的产品全名是"dorado展现中间件".从产品形态上dorado由两部分组成,第一部分是一个具有AJ ...
- TensorFlow用法
TensorFlow用法 什么是TensorFlow TensorFlow是一个开源软件库,用于使用数据流图进行数值计算.图中的节点表示数学运算,而图的边缘表示流动的多维数据数组(张量).这种灵活的体 ...
- TensorFlow Keras API用法
TensorFlow Keras API用法 Keras 是与 TensorFlow 一起使用的更高级别的作为后端的 API.添加层就像添加一行代码一样简单.在模型架构之后,使用一行代码,可以编译和拟 ...
最新文章
- 串联NSOperation知识点
- Android项目中出现的Plugin with id ‘kotlin-android‘ not found解决方法
- 电容屏物体识别_兆易创新的传感器布局:电容/光学/超声指纹/ToF全面发力
- 深入剖析js命名空间函数namespace
- python爬虫程序框架的理论是什么_Python网络爬虫(scrapy框架简介和基础应用)
- JavaScript事件处理程序的3种方式
- centos 7 163 yum 源 python 2.7.5
- Unity2017探究Layout布局
- 用keil5将程序下载到板子里
- 计算机启动时默认输入法设置,怎么把输入法设置成默认(怎么设置首选输入法)...
- Hadoop 面试题
- 牛逼的电商运营为什么不自己开店铺要去打工?(知乎精选)
- ROS仿真环境安装与配置
- 基于元数据规则的大数据解决方案
- 前15天mysql_15天快速学习数据库Mysql基础操作命令
- html表格中怎么将背景颜色虚化,如何在Photoshop中制作效果惊艳模糊背景!
- 重要:关于PPT转图片需要注意的问题
- 流畅的python第十四章可迭代的对象,迭代器和生成器学习记录
- vue使用ckeditor4富文本编辑器配置
- NKD 编译通过,但是eclipse提示报错 linux