这个为啥选b呀大神们

下列程序的输出结果是 int y=10;
while(y--);
printf("y=%d\n".y);
A.y=0
B.y=-1
C.y=1
D.构成无限循环
[我的答案] A
[参考答案] B

我的思路是一直减一,减到0while判断为假跳出循环,此时b为0

这里是后置--,是先判断y==0没问题,然后y还要--,之后跳出循环,故y==-1

看一下下面例子的区别就明白了

#include<stdio.h>
int main(){
    int y=2;
    int a=y--;
    printf("%d\n",a);
    
    y=2;
    int b=--y;
    printf("%d",b);
    return 0;
}

img




觉得有用的话采纳一下哈