一个简单的问题,这样写是不是不太好: while (ERROR1 == (ret = do_sth() ) ) {...}

发布于 2022-10-15 09:26:13 字数 465 浏览 21 评论 0

问一个简单的问题,这样写是不是不太好: while (ERROR1 == (ret = do_something() ) ) {...}

比如这样:
2084     while (READ_ERR == (ret = tcp_read (g_client_socket, buf, 2, 5000)) )
2085     {
2086         usleep (500000);
2087         if (i++ == 5)
2088             break;
2089     }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

何处潇湘 2022-10-22 09:26:13

很不好。

可以这样:

while(1){
    ret = tcp_read( ...... );
    if ( ret == READ_ERR ){
        break;
    }

    ........
}

離殇 2022-10-22 09:26:13

是的,很想知道理由

初懵 2022-10-22 09:26:13

问一个简单的问题,这样写是不是不太好: while (ERROR1 == (ret = do_something() ) ) {...}

比如这样: ...
reer 发表于 2011-04-15 19:30

很好的习惯,不会错的。

梦里的微风 2022-10-22 09:26:13

to yulihua49:
你是说这样写好吗?

小姐丶请自重 2022-10-22 09:26:13

这么些纯属装13

春庭雪 2022-10-22 09:26:13

容易出错,而且代码难看!

メ斷腸人バ 2022-10-22 09:26:13

理由就是读起来一句是一句,不喘气儿,雍容,从容,正确得显而易见。
而不是让你看着一愣一愣的,像捉迷藏、脑筋急转弯似的,最后突然又来一个“哦!原来如此!”

<逆流佳人身旁 2022-10-22 09:26:13

我自己是不会怎么写,不过也经常有人这么写,看呀看呀也习惯了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文