好傻的问题,就不会,只有贴出来!!!
#include <stdio.h>
void main()
{
int n=8;
while(n--> 0)
{}
printf( "%d ",n);
}为什么n最后会等于-1啊 当n=1时再减--不是等于0,不满足循环条件了吗?
怎么n还会继续减啊
[解决办法]
-- 又不是循环体内的语句,不受循环条件制约。
[解决办法]
n--
是使用过后将n减1
就是说while(n-- > 1)
在判断了n的值之后再进行减操作
当n == 0时,循环退出然后n = n-1
所以最后n == -1
[解决办法]
while(n--> 0)
上句的是先比较后执行 n = n-1
所以当 n=1时,还是继续执行
当n=0时,的确是不满足循环了,但是 n = n-1却不受这个条件限制(不是循环体类语句)
[解决办法]
while(n--> 0)
--------------
n--是先求n的值然后n再减1,当n等于0的时候循环条件就为假了,但是n还要自减一次,最后得到的n为-1
[解决办法]
加括号只是让你理解下.加与不加效果一样.
记住n-- 与 --n的区别
自己写个代码测试下看看.