您的位置:首页 > 其它

#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个是;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: