不能突破do while循环

时间:2012-08-09 10:33:02

标签: c

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));

由于某种原因,在达到number_fx_resources之前,dx_channels应该首先达到4。但是,它永远不会突破dx_channels&gt; CHANNEL_PER_BOARD。

我可以使用if语句,但这会添加额外的代码行。

我在这里做错了吗?是因为我正在测试2个条件吗?

非常感谢任何建议,

1 个答案:

答案 0 :(得分:3)

您需要:while((dx_channels < CHANNELS_PER_BOARD) && (i < number_fx_resources));

注意:&&而不是||