请问一下b为什么等于5,a为什么等于9

img

大部分编译器函数参数传递是从右向左,所以显示m传递给b,然后 m加1,再把3+m传递给a
所以b传入5,a传入3+5+1=9

函数参数从右往左入栈,你可以试一下把fun中的参数调换一下试一下,如果还不理解看能不能看到他的汇编代码。

你这是未定义行为,实际中尽量避免这样写