y=((x=3*y,x+1),x-1);这一句涉及到逗号语句的用法了
就是(表达式1,表达式2,表达式3,表达式4,...,最后一个表达式)
编译器就先计算表达式1,再计算表达式2,...,然后整个括号里面的值是最后一个表达式的值.
我就给出第一次循环结果给楼主把
分析如下:
先计算(x=3*y,x+1)/*其中y=1,所以x=3,最后x+1=4就是括号里面的值*/
在计算外面的括号
相当于y=(4,x-1)/*由于刚刚x=3,所以x-1=2,y就等于2*/
第一次循环结果是x=3,y=2.
后面的楼主自己推吧