即使是从0开始的,你的程序还不是结束不了。
n>=0呢
n>=0呢
倚天照海花无数,流水高山心自知。
int :16 bit
假设整型n的值为1,可表示为:0000 0000 0000 0001
执行n--;后n值为0,可表示为:0000 0000 0000 0000
再执行n--; 可表示为: 1111 1111 1111 1111 表示-1,所以条件n>=0不成立,循环结束。
unsigned int :16 bit
假设无符号整型n的值也为1,可表示为:0000 0000 0000 0001
执行n--;n值为0,可表示为: 0000 0000 0000 0000
再执行n--;你看n值为多少? 1111 1111 1111 1111 表示2^16-1,此时n>=0仍成立,循环不会结束。
如果楼主对上述的码制不清楚的话,请自己去看看计算机组成原理的课本。