问题描述:
代码如下
unsigned int i, j = 0;
for (i=1;i>=0;i--)
{
j = j + i;
}
问题是for循环一直不跳出,j的值一直在增加
问题原因:
i定义为了无符号数,其值不会小于0,故for里的判断语句i>=0不起作用,i在等于0后再减,会回到最大值
解决方法:改for循环如下
unsigned int i, j = 0;
for (i=2;i>0;i--)
{
j = j + i - 1;
}
问题描述:
代码如下
unsigned int i, j = 0;
for (i=1;i>=0;i--)
{
j = j + i;
}
问题是for循环一直不跳出,j的值一直在增加
问题原因:
i定义为了无符号数,其值不会小于0,故for里的判断语句i>=0不起作用,i在等于0后再减,会回到最大值
解决方法:改for循环如下
unsigned int i, j = 0;
for (i=2;i>0;i--)
{
j = j + i - 1;
}