-2

gcc (GCC) 4.6.3 c89

你好,

我有以下做..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 回答