C语言问题,求大佬解释!

如图,输出第一个值为什么是6而不是7... 如图,输出第一个值为什么是6而不是7 展开
 我来答
听不清啊
高粉答主

2018-11-21 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.8亿
展开全部
第一次输出的值是:
k=1+func(3,2)=1+(3+2)=6
z++是先取z的值5,取完后z再变为6的,但是马上函数返回后z就消失了。
追问
为啥返回后消失了
追答
在函数内部定义的变量,得局部变量,它只在函数内部才生存,函数返回时就释放,存储空间归还操作系统。
百度网友44728b8
2018-11-21 · 超过13用户采纳过TA的回答
知道答主
回答量:24
采纳率:80%
帮助的人:11.7万
展开全部
do while的循环终止条件是i <=5 不成立
当进行完i++后i=5时 i不满足循环终止条件 循环继续
当i=5时 进行完i++后 i=6 i <=5 不成立循环终止
因此当 i=6时循环就结束 i++不在进行
追问
为啥第一次输出为什么6而不是7
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fastfs
2018-11-21 · TA获得超过1423个赞
知道大有可为答主
回答量:2659
采纳率:62%
帮助的人:768万
展开全部
z++后递增 是返回z加之前的值
相当于
tmp = z
z = z + 1

return tmp
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式