这里涉及到两个知识点。
一个是 函数在处理参数的时候,是从后向前的。
另一个就是前置自加/减和后置自加/减的区别。
由于从后向前调用
所以 这里顺序是
先func(--x, --y);
再func(x++, y++);
最后调用func, 参数为前两个返回值。
对于func(--x, --y);
初始x=6 y=7 前置--, 先自减,再取值。 所以调用的是func(5,6)=11
对于func(x++, y++)
这时x,y是之前自减过的, x=5, y=6. 后置自加, 先取值,再自加。 调用的还是fun(5,6)=11
于是,z=func(11,11) = 22
输出z为22.