为什么使用 do while(0),大家见到的奇奇怪怪的代码.

时间:2022-05-15 02:45:01

    因为现在一般的语言都不建议你使用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);