C语言,,求解

#include<stdio.h>inta=5;intfunc(intd){intb=5;staticintc=5;a--;b--;--c;--d;returna+b+c... #include<stdio.h>
int a=5;
int func(int d)
{
int b=5;
static int c=5;
a--;b--;--c;--d;
return a+b+c+d;
}
main()
{
int k,a=4;
for(k=0;k<3;k++)
printf("%d,",func(a--));
}
第二个值为啥为12?
展开
 我来答
听不清啊
高粉答主

2020-04-04 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
因为这里main函数中的族裤宽a是局部变量,func函数中的变量a是全局变量,变量c是一兆亮个静态变量,它在第一次调用结束后的值能够得以保留到第二次调用时继续有效。所以第二次调用时a的初值是4,b的初值是5,c的初值是4,d的初值是3,
所纯卖以,经a--;b--;--c;--d;后,a=3,b=4,c=3,d=2
return a+b+c+d;的值为12
匿名用户
2020-04-04
展开全部

关备配于结果:

上面凯滚颂的 仅子函数输出,主函数不输出

下面的 仅主函盯郑数输出,子函数不输出

一目了然

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一变班爱麻啊堡0J
高粉答主

2020-04-13 · 醉心答题,欢迎关注
知道答主
回答量:11.4万
采纳率:2%
帮助的人:5592万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式