C语言中的问题新人麻烦详细说明一下?

这题我虽然写对但不知道分析对不对你看我分析首先是赋值9给a但是按照你昨天说的里面有3赋值给a了所以a应该是3然后判断a>b的函数大于b输出返回a否则返回b所以返回了5然后... 这题我虽然写对但不知道分析对不对 你看我分析 首先是赋值9给a 但是按照你昨天说的里面有3赋值给a了 所以a应该是3 然后判断a>b的函数 大于b输出返回a 否则返回b 所以返回了5 然后又到下面 输出a b之间大的数 所以最后答案是9 展开
 我来答
听不清啊
高粉答主

2021-11-12 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
你的分析是不对的。
首先是赋值9给a ,有3赋值给全局变量a,在main函数中被屏蔽了,调用max函数时用到的a应该是9。 然后判断a>b的函数 大于b输出返回a 否则返回b 所以返回了9,然后就输出9。
(你可以把这个程序输入计算机中,并在return c;前面加上一句printf("a=%d c=%d\n",a,c);观察实际情况)
旅初彤2B
2021-11-12 · TA获得超过2.6万个赞
知道大有可为答主
回答量:4.4万
采纳率:65%
帮助的人:5425万
展开全部
a=3,这个变量a是全局变量你在main方法再定义一个a,这个变量a是局部变量,一般有一个就近原则,也就是局部变量优先,你在输出的时候传入的参数a实际是a=9的值,而b这个值还是用的是全局变量b的值,所以这段代码应该输出的是9,注意:全局变量可以被这个源码中任意方法调用,但是局部变量,只能是本方法内才能被调用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式