求助一到计算机二级c语言的一道题,答案是12,但是完全看不懂,求大神解答
1个回答
展开全部
函数内的静态变量存放于静态存储区中,只会被初始化一次,且不会在函数结束后消亡,但其作用域仍限于函数内。
第一次执行n=fun3(2),初始化a为3,计算a+=2并返回给n,因此n=3+2=5;
第二次执行n+=fun3(2),此时a不会再重新初始化,而是沿用当前值5,计算a+=2得a=7,再计算n+=7得n=5+7=12。
最后输出n的值12.
第一次执行n=fun3(2),初始化a为3,计算a+=2并返回给n,因此n=3+2=5;
第二次执行n+=fun3(2),此时a不会再重新初始化,而是沿用当前值5,计算a+=2得a=7,再计算n+=7得n=5+7=12。
最后输出n的值12.
更多追问追答
追问
你好我还是有点不懂,为什么执行了两次n+=fun3(2)呢?
真的非常谢谢你,这个我真是看不懂,我很笨
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询