请问这个c程序题的结果是什么呀,全局变量也可以累加吗

答案是11,13,15a是全局变量,不应该每次使用都是a=1吗,这样算出来应该是11,12,13啊但实际每次a都加一,这是为什么呀... 答案是11,13,15a是全局变量,不应该每次使用都是a=1吗,这样算出来应该是11,12,13啊但实际每次a都加一,这是为什么呀 展开
 我来答
骑鹰的蜗牛
2019-03-16 · TA获得超过260个赞
知道小有建树答主
回答量:348
采纳率:0%
帮助的人:53.3万
展开全部
a是全局变量,但是局部变量里也有a,同名的时候,以局部变量为准。
所以main的a = 4;func里的a = 1;
main 里的a没有变化,所以每次传递过去的d都是4;
func里的a是全局变量,每次执行a++;都会增1;
然后c是静态变量,有全局变量的效果,初值只赋值一次,也就是每次进入子函数都会+1;
b是局部变量,每次进入都是1;
a+b+c+d
第一次return 的数是,2+2+2+5 =11;
第二次return的数是,3+2+3+5 =13;
第三次return的数是,4+2+4+5 =15;
更多追问追答
追问
为什么d的值会是5,6,7呢不应该一直都是5吗
追答
我搞错啦,已经改过来了,每次进去,a和c都会比之前大1
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式