求解析答案是﹣1嘻嘻嘻嘻嘻?

若有int y=15;,则执行下列语句后的输出为( ). while(y--); printf("y=%d\n",y);

1、while(y--);  由于最后加了;  所以会一直执行,直到while里面的条件为0,才会结束

2、y--这个语句 是先返回y的值,再进行y-1,所以当y为0时,执行y-1,然后while因为等于0退出,此时打印y的值为-1

楼上的解释很详细了,重点是while(y--);这有分号,所以当y--到0的循环停止,而最后一次y=0时,条件不满足,跳出循环,y--还是会生效因此y=-1;