[C语言]这道题答案为什么是5,7,能解释其中a,b,c的变化么?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 15:57:10
[C语言]这道题答案为什么是5,7,能解释其中a,b,c的变化么?
xNA_!@kxoanlWīmJ9$Tl)F5XU_iWB$nvọٰ{vU+*oFU޹wzgUٕ9 __[t9lMZb؃,^x= ;vft̚s 9>a>{@BdT RIadS8Ͽ*9T_&Ň l1,] P*"LUA3ǚ! @byd*K J:fV[yڋe D(*y3 `[zaqLaүqĴP2z)I@ ]C z>rKWw5|ݰtCOkݣ#~~٢GY;_6R \lkz+>]n [ٯ{tVe N$L]7L$A&%]΄W @ݾO3Ek /ǥIe]Y?9,0XѵUZкd?7RK',P=OM򎍬?G

[C语言]这道题答案为什么是5,7,能解释其中a,b,c的变化么?
[C语言]这道题答案为什么是5,7,能解释其中a,b,c的变化么?
 

[C语言]这道题答案为什么是5,7,能解释其中a,b,c的变化么?
这题的关键是理解静态变量.static in a =3;
a是一个静态变量,简单可以理解为a是一个全局变量,相当于在main()外定义了int a=3;
直到main()结束时,a才被销毁
下面写下重要执行过程:
i=0;f(0);
c++;(c=4)
a+b+c=0+1+4=5;返回值5
i=1;fun(1);
c++;(c=5)
a+b+c=1+1+5=7;
后面的一样道理
a+b+c=2+1+6=9;
明白了没有,这里关键就是对静态变量的理解