#define fun() do {a***; b***;} while(0)在if语句后的用法探讨
2011-12-21 16:17
330 查看
#define fun() do {a***; b***;} while(0)
1. 在if语句之后,如果没有do {} while(0),就是#define fun() a***; b***;
那么只有a***; 与if结合,而b***; 就没啥用了
2. 如果没有do while(0),但是{}保留,就是#define fun() {a***; b***;}
那么在if语句之后,由于程序员通常的习惯
if ()
fun();
else
fun2();
将变成
if ()
{a***; b***;};
else
fun2();
那么会产生编译错误,因为if后面已经出现了2个语句,1个是{a***; b***;},1个是;
1. 在if语句之后,如果没有do {} while(0),就是#define fun() a***; b***;
那么只有a***; 与if结合,而b***; 就没啥用了
2. 如果没有do while(0),但是{}保留,就是#define fun() {a***; b***;}
那么在if语句之后,由于程序员通常的习惯
if ()
fun();
else
fun2();
将变成
if ()
{a***; b***;};
else
fun2();
那么会产生编译错误,因为if后面已经出现了2个语句,1个是{a***; b***;},1个是;
相关文章推荐
- if,switch,while,do..while,for语句在JSP中的用法示例
- oc语法基础——(do.....while 语句用法)
- Swift第三课 分支语句 if else for forin switch while do-while
- 【Swift】学习笔记(五)——控制语句(if,switch,for-in,for,while,do-while)
- if/switch/while/do while/for/等循环及判断的简要用法案例
- C语言中流程控制语句(if,switch,for,while,do-while,continue,break,return)
- javascript 循环语句 while、do-while、for-in、for用法区别
- if,continue,break,while,do-while, switch,return,foreach,for等条件语句的使用
- if和switch语句、循环语句while和do……while、for
- linux中if语句、case语句、while语句、until语句的用法
- javascript 循环语句 while、do-while、for-in、for用法区别
- while do while和for语句用法
- awk 控制语句(if for do while)
- JavaSE (七)循环控制语句:while、do....while、for,break和continue用法
- linux shell awk 流程控制语句(if,for,while,do)详细介绍
- awk 控制语句(if for do while)
- expect语法基础: while、for 循环、if 语句的用法示例
- 循环与递归--不使用if,while,for,do—while语句来输出所有比已知数N小的自然数
- 控制流程语句if、switch、while、do-while、for
- Cocos2D-x中关于do{}while(0)和CC_BREAK_IF的用法