在c中执行while循环条件

Chr*_*ian 1 c pic while-loop conditional-statements

下面的两个代码snipe是​​否完全相同?

do
{
    Delay_us(1);
    status = fetchStatus();
}while(!status);
Run Code Online (Sandbox Code Playgroud)

第二个snipet - >

do
{
    Delay_us(1);
}while(status = fetchStatus(), !status);
Run Code Online (Sandbox Code Playgroud)

哪个更好?

Nea*_*eal 7

你可以做:

do
{
    Delay_us(1);
} while( !fetchStatus() );
Run Code Online (Sandbox Code Playgroud)

这样,如果使用它,则无需创建局部变量.