不懂啊 有没有人可以解答一下

img

要注意三点
一 static int z=0 是静态变量只会赋值一次
二 (,)逗号分隔的多个表达式会返回最右边的值
三 z++是先返回原本的值, 再对z加1
循环三次,调用sub函数三次
第一次 y=0,z=0(z是静态变量只会赋值一次), x传值为0, x++, x变成1 , z++是先返回原本的值, 再对z加1, (,)逗号分隔的多个表达式会返回最右边的值,所以y是加上z原本的值0,z变成1 输出 1 0 1 ,sub函数返回y,再输出 0
第二次 y=0,z还是1, x传值为1, x++, x变成2 , z++是先返回原本的值, 再对z加1, y是加上z原本的值1,z变成2 输出 2 1 2 ,sub函数返回y,再输出 1
第三次 y=0,z还是2, x传值为2, x++, x变成3 , z++是先返回原本的值, 再对z加1, y是加上z原本的值2,z变成3 输出 3 2 3 ,sub函数返回y,再输出 2

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img