请我是哪里不清楚呢?把代码运行一下,顺便把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