结果为什么不一样呢,求大神解析一下,差别在于while后面有没有一个分号

循环体不一样,有分号表示循环体为空,执行完循环才执行输出,没有分号表示输出语句为循环体,每循环一次执行一次输出语句。

另外自减运算符放在后面,要先进行while的判断,在执行减法

while(k--)后面有一个分号,相当于while(k--){;} 在循环中执行空语句,k=1时拿去判断同时减1,不等于零,继续;k已经=0,再判断无法通过,同时k减1变成-1