为什么无论赋值y多少 输出结果都为1

img


试了一下无论y是正数还是负数 是0还是1 输出的结果都是1 (大一 不太理解

while(y++);这一行的意思是只有y的值为false的时候才会走下面的代码,所以只有当y=0的时候才会跳出while循环。
负数值转布尔时是true,而0转布尔时是false。y先从负数自增到0跳出循环,然后再 执行++,所以出while之后,y的值是1。
但是当y的初始值是正数时就永远不会跳出while循环

去掉while(y++)后面的“;”。

把while那一行的分号去掉