C语音有关编辑的过程

img

请我是哪里不清楚呢?把代码运行一下,顺便把x,y的值打印出来,过程就很清楚了。

循环条件这里是用逗号分隔的 x>=10,y<10 两个表达式,只会返回最后面一个y<10表达式的结果。前面的x>=10的结果会被忽略。
每次循环y是先y+=2再y++ 每次增加3。循环4次后y是12,y<10不再循环。
x也是循环4次,先x/=2再x--。循环4次后y是0.

#include <stdio.h>
int main(){
    int x,y;
    for (x=30,y=0; x>=10,y<10; x--,y++)
        x/=2,y+=2;
    printf("x=%d,y=%d\n", x,y);
    return 0;
}

执行结果是

x=0,y=12