-2

gcc (GCC) 4.6.3 c89

こんにちは、

次の do..while ループがあります

#define NUMBER_DX_CHANNELS 4

do {
/* some some processing here */
i++;
dx_channels++;
} while((dx_channels > CHANNELS_PER_BOARD) || (i < number_fx_resources));

何らかの理由で、dx_channels は number_fx_resources に到達する前に最初に 4 に到達する必要があります。ただし、dx_channels > CHANNEL_PER_BOARD から抜け出すことはありません。

if ステートメントを使用することもできますが、それでは余分なコード行が追加されます。

ここで何か間違ったことをしていますか?2つの条件をテストしているからですか?

ご提案いただきありがとうございます。

4

1 に答える 1

3

必要なもの:while((dx_channels < CHANNELS_PER_BOARD) && (i < number_fx_resources));

注:&&代わりに||

于 2012-08-09T10:36:45.917 に答える