c语言 need解析 题help

img

当y变成0时,while(y--)也就是while(0--),while(0)就退出循环,然后再做自减,0--就变成了-1

循环最后一次,y=0;while(y--);不满足条件,循环退出,但是会执行一次y--,y变为-1

0为假,非0为真,y--是先判断y再减1(同时可以说一下--y是先减1再判断)所以当y为0时跳出循环后,再减一就是-1了