这是考试题?
考逗号表达式吗?你这个问题本身就有问题,你的y没有初值。我只能假设y=1分析给你看
首先计算x=3*y,结果赋给x,假设是3;
然后计算x+1,用上面的结果就是3+1了,就是4.
逗号表达式取最右边表达式的结果赋值。那么
(x=3*y,x+1)
这个表达式的结果就是4.
在计算y=(4,x-1),你应该就明白了。x刚才是赋值过为3了,那么x-1=2;同理,
y=((x=3*y,x+1),x-1)
实际赋值为y=2,同时x有第一个表达式赋值为3.
y=((x=3*y,x+1),x-1)可以拆成多个语句,这样你就理解了
拆分为
x=3*y;
y = x +1;
y = x - 1;