【c语言】以下程序的输出结果为什么是8,17?

2025-03-09 21:16:48
推荐回答(3个)
回答1:

输出是8,17 没错
因为函数f中的m和i都静态变量(static)
第一次调用开始的时候i和m都是2 。 调用结束后i=3,m=8
那么第二次调用开始的时候,i=3,m=8(因为i和m都是静态变量),而调用结束时 i=4 m=17

回答2:

用的是静态变量,所以第二次进入的时候,a和b还是4和1,不过m是上一次执行时的结果8,而i也是上次执行的结果3,结果是17,你大概把i的变化忽略了吧。。呵呵。。

回答3:

我觉得也是16 不能再软件里面调试么?