因为现在一般的语言都不建议你使用goto语句,连C语言也不例外,那么你想执行一段代码后,一部分代码不执行,直接跳转到下面去,但是你写if else套嵌,会写很多层,你会觉得看起来好不爽啊,怎么这么多套,阅读起来也吃力,这个时候do while(0)就很方便了。例如下面的代码:
do{ // 哎呀,我开始工作了,打印显示AFNetworking我全会 // 哎呀,我出现错误了,下面的执行不了,我break break;
// 正常工作....... }while(0); perror("error:"); //出了什么问题我看看.不管了,我先把下面的工作完成。
这样写起来代码会好看一些,但是如果是if else嵌套,可能if里面包含的内容就太多了,阅读起来很麻烦, 又比如,需要尝试几次连接的例子:
do{ //申请socket,尝试 bind。。。。 //如果绑定失败 close上一个socket, continue; //正常工作 }while(0);