while循环体中的,是什么用法?

int x=0,y=0;
while(x<15)y++,x+=++y;
printf("%d,%d",y,x);

输出8,20

这个是怎么运算出来的呢?循环体中的,是什么含义呢?

因为y++,x+=++y;是逗号表达式,所以最终值是x+=++y;还有x+=++y等价于x=x+(++y)
0<15 y=1,x=0+2;//x=2,y=2
2<15 y=3,x=2+4;//x=6,y=4
6<15 y=5,x=6+6;//x=12,y=6
12<15 y=7,x=12+8;//x=20,y=8
20<15 不成立
输出:y=8,x=20