int x,y;
for(y=1;y<10;)
y=((x=3*y,x+1),x-1);
printf("x=%d,y=%d",x,y);
return 0;
逗号表达式
按从左到右的顺序依次执行
并且将最后一个结果作为返回值
那么其实就等价于
x=3*y;
x+1;
y=x-1;
如果你问的是y=((x=3*y,x+1),x-1);表示等号右边从左往右逐个运算,将最后一个逗号后面的运算式赋值给y;
y=((x=3y,x+1),x-1);----->y=((3y+1),3y-1);------>y=(3y-1);------>y=3*y-1;
此处 逗号的作用就是画蛇添足,毫无意义,既不能提高速度,又很不简明, 只是为逗号而逗号的题目罢了 。