求帮忙看看这道大学基础C语言题,为什么答案是12呢? 50

我个人算的是6,2+2+2但是答案是12,请问这道题的过程是怎样的?谢谢~~~... 我个人算的是6,2+2+2 但是答案是12,请问这道题的过程是怎样的? 谢谢~~~ 展开
 我来答
CHENGWENGJI
2019-01-08 · TA获得超过412个赞
知道小有建树答主
回答量:667
采纳率:66%
帮助的人:291万
展开全部

答案应该是12=2+4+6

大概过程是:

f(&aa[0])->
aa[0]+f(&aa[1])->//这里传入的是aa[1]处的地址,即p=&aa[1],&p[1]=&aa[2]
aa[0]+aa[1]+f(&aa[2])->
aa[0]+aa[1]+aa[2]->
12
追问

  是通过这个句子  指针有变化了吗? 指针从对应着2变成了4最后变成6? 

追答
p和&p[1]位置是相对的,如果p指向aa[0],那么&p[1]就指向aa[1]
而如果p指向aa[1],那么&p[1]就会指向aa[2]
往后移一个位置.
高数线代编程狂
2019-01-09 · TA获得超过1.8万个赞
知道大有可为答主
回答量:1620
采纳率:86%
帮助的人:334万
展开全部
这是一个递归函数。&aa[0]表示数组第一个元素地址,而aa[1]就是数组第二个元素了,以此类推。该递归函数指针p一直在后移,所以结果是数组元素求和
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
文逍遥88
2019-01-09 · TA获得超过148个赞
知道答主
回答量:631
采纳率:6%
帮助的人:66.4万
展开全部
aa[0]+f(&aa[1])->//这里传入的是aa[1]处的地址,即p=&aa[1],&p[1]=&aa[2]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
栗期味海1
2019-01-09
知道答主
回答量:41
采纳率:0%
帮助的人:1.2万
展开全部
因为所有科学道理不说也可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式