在c中,我们遇到的有三种循环语句:for, while和do…while,最近在看一些别人写的代码时候,遇到了do…while(0),当时十分不理解,为什么要这样子做。
下面说一下为什么要用到do…while(0)
- 消除代码的冗余
- 避免使用goto语句
解释1:
我们在写程序的时候,在一个函数中如果遇到需要判断情况的,有时动不动需要判断几个参数,或者我们的代码像下面这样子。
bool Execute()
{
// 分配资源
int *p = new int;
bool bOk(true);
// 执行并进行错误处理
bOk = func1();
if(!bOk)
{
delete p;
p = NULL;
return false;
}
bOk = func2();
if(!bOk)
{
delete p

本文介绍了C语言中do…while(0)循环结构的特殊用途,包括消除代码冗余和避免使用goto语句。通过示例代码展示了如何用do…while(0)优化错误处理流程,同时解释了在宏定义中使用该结构的原因,以防止因语句末尾的分号导致的编译错误。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



