x = (y = 5, z = y + 1);这是逗号表达式,每一个子表达式都会执行,返回值是最后一个子表达式的值。首先y=5执行, 然后z=5+1=6,返回x=6,记住一点,不管中间几个逗号,返回的都是最后的子表达式的值。
执行顺序:y=5;z=y+1;//=6x=z;//等于6
这种问题就是对运算符的优先级的理解
根据上面三个步骤就得出结果:代码会先计算y=5,然后再计算z=y+1=6,再计算 (y=5,z=y+1) 结果就是6,最后就是对x进行赋值 即x = 6