fun(b)的返回值为((a++)+(--b))=a+(b-1)=a+b-1
第一次fun(c)=fun(5)=a+c-1=10+5-1=14
第二次a++后fun(c)=fun(5)=a+c-1=11+5-1=15
x=14+15=29
首先要搞清楚,自定义函数内的a
static是静态的意思,会把a存储在静态区,也就是说a只被初始化一次。
其次要清楚
a+++--b是如何组合的,
它们是从左到右逐个字符组合的,直到不能成为合法标记就停止组合的,像这个只能这样组合
a ++ + --b
也就是
a++ + --b
理清楚这些答案是很明显的
第一次调用返回值是
10++ + --5
14
此时a=11了;
第二次调用返回值是
11++ + --5
15
此时a=12了
所以
14+15=29
答案就是29
说的那么明白清楚了么?
不知道你这个问题是否已经解决, 如果还没有解决的话: