下面的两个代码片段做的是完全相同的事情吗?
do
{
Delay_us(1);
status = fetchStatus();
}while(!status);第二个代码片段->
do
{
Delay_us(1);
}while(status = fetchStatus(), !status);哪一个更可取?
发布于 2012-01-20 03:22:57
是的,他们做了同样的事情,但我更喜欢以下几点:
do {
Delay_us(1);
} while (!(status = fetchStatus()));因为它将所有这些都简化为一条语句,而不是两条语句。
发布于 2012-01-20 03:23:20
您可以执行以下操作:
do
{
Delay_us(1);
} while( !fetchStatus() );这样,如果您不使用本地变量( not ),就不需要创建它了。
发布于 2012-01-20 03:23:29
它们具有相同的逻辑输出。在每种情况下,状态都是赋值的,然后再求值,但第一种状态更具可读性。一般来说,不要使用逗号运算符。
https://stackoverflow.com/questions/8931973
复制相似问题