weixin_57864576 2021-11-15 14:07 采纳率: 50%
浏览 33
已结题

是怎么运算出来的呢?

img

  • 写回答

2条回答 默认 最新

  • 关注
    
    int k=4,m=1
    执行func(4,1)
    
    m,i 是静态变量,相当于全局变量 m=0,i=2
    i = i+m+1=2+0+1=3;
    m=i+a+b=3+4+1=8;
    返回8,main函数中printf显示的是8
    
    第二次执行func(4,1)
    m,i 是静态变量,相当于全局变量,静态变量的初始化只执行一次,所以这里的m=0,i=2不再执行。
    m和i的值是上一次func函数中计算后的值: m=8,i=3
    
    i = i+m+1=3+8+1=12;
    m=i+a+b=12+4+1=17;
    返回8,main函数中printf显示的是17
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月15日
  • 已采纳回答 11月15日
  • 创建了问题 11月15日