原因就是运算符优先级的问题,就像楼上说的:逗号运算符的级别最低,比等号还低所以这个语句:z=x++,y++,++y;实际上等于:(z=x++),(y++),(++y);这样写的话相信楼主就知道为什么z=1了吧楼主认为z应该是3的原因应该是把z=x++,y++,++y;当成z=(x++,y++,++y);了
答案为c z=x 与后面形成一个逗号表达式。即执行了z=x 后z为1,x为2,y 后y 变为2再执行 y变为3故输出为2,3,1
x
c