lintcode刷题:面试总结 do while(0)
来源:互联网 发布:成考自考和网络教育 编辑:程序博客网 时间:2024/06/06 02:06
今天面试的时候被问了一个问题:
在宏定义的时候,为什么使用do while(0)
在读代码的时候遇到过这种情况,当时反应了半天,
没想出来是什么原因。其实和{}作用域的作用好像一样。
好像主要的作用是逻辑错误?
例如
define FUNC(a) /
do { /
funca(a) /
funcb(a) /
} while(0)
当执行if...else...时,可能会出现
if (a < 100)
FUNC(a);
else
FUNC(b);
在写代码的过程中,习惯性的在行尾添加;
展开后
if (a<100)
do {
FUNC(a);
FUNC(b);
};
else
FUNC(b);
编译出错。
阅读全文
0 0
- lintcode刷题:面试总结 do while(0)
- C#总结---for,while,do while循环
- while,do while,for循环总结
- while和do...while循环测试总结
- do...while(0)
- do{}while(0)
- [转载]Do{}While(0)
- do {} while (0) 用法
- do-----while(0)
- do...while(0)
- do{}while(0)妙用
- do while(0) 用法
- do {} while (0)
- do..while(0)使用
- do{ ... } while(0)
- do-while(0)妙用
- do...while(0)用法
- do{...} while(0);
- VIewPager中的onScrollChangedLIstener要点
- POJ2586--Y2K Accounting Bug(贪心)
- Build path specifies execution environment J2SE-1.5.
- MapReduce中context的作用
- useUnicode=true&characterEncoding=UTF-8的作用
- lintcode刷题:面试总结 do while(0)
- java8中Stream的使用以及分割list
- C语言——int main,main 和 void main;return
- linux中vim基本使用方法介绍
- 深度学习-视频集合
- WSN初控
- Prime Ring Problem
- STL之二分查找(binary_search(),lower_bound(),upper_bound() )
- linux-13 软件的安装