一道c语言题,求解答,我算出来的结果是8和15,答案是8和17 100
展开全部
第一次执行fun(4, 1)时,
m=0,i=2
i+=m+1执行后i = 2+0+1=3;
m=i+a+b执行后m=3+4+1=8
第二次执行fun(4, 1)时
m=8, i=3; (static变量只初始化一次,所以还是上一次的值)
i+=m+1执行后i=3+8+1=12
m=i+a+b执行后m=12+4+1=17
所以结果是8和17
m=0,i=2
i+=m+1执行后i = 2+0+1=3;
m=i+a+b执行后m=3+4+1=8
第二次执行fun(4, 1)时
m=8, i=3; (static变量只初始化一次,所以还是上一次的值)
i+=m+1执行后i=3+8+1=12
m=i+a+b执行后m=12+4+1=17
所以结果是8和17
追问
我想问一下像这个表达式i+=m+1是先计算m+1还是i+m
追答
参考运算符优先级资料,+的优先级高于+=,所以是先计算m+1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |