|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 大伙帮看看,这道题是不是给错了,我算的结果和答案不一样
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
748
人关注过本帖
标题:
大伙帮看看,这道题是不是给错了,我算的结果和答案不一样
只看楼主
加入收藏
赵贺辉
来 自:河南
等 级:
论坛游民
帖 子:28
专家分:19
注 册:2011-3-18
第
11
楼
收藏
得分:0
回复 5楼 chenwei435
是把aa+2的地址传递给a[],我是这样理解的,这个题是我看的书上的,
2011-03-20 13:15
举报帖子
使用道具
赠送鲜花
赵贺辉
来 自:河南
等 级:
论坛游民
帖 子:28
专家分:19
注 册:2011-3-18
第
12
楼
收藏
得分:0
回复 7楼 ansic
我刚试了,答案是十八,可为什么???我笔算是12
2011-03-20 13:46
举报帖子
使用道具
赠送鲜花
like2266
等 级:
论坛游民
帖 子:17
专家分:40
注 册:2011-3-19
第
13
楼
收藏
得分:8
答案确实是18其实这个递归展开是这样的,相当于aa[2]+aa[3]+aa[4]+aa[5];
aa+2是把aa[2]的地址传递给f函数!依此类推。就是aa[2]+aa[3]+aa[4]+aa[5];即3+4+5+6==18;答案就是18.
2011-03-20 13:55
举报帖子
使用道具
赠送鲜花
chenwei435
等 级:
青峰侠
威 望:
2
帖 子:322
专家分:1611
注 册:2010-11-28
第
14
楼
收藏
得分:12
此函数为递归调用函数,调用aa+2其实就是把a的地址加了2个sizeof(int ),是一个指针,
return
a[0]+f(a+1,n-1);此时的a[0]所指向的数就是3,也就是aa[2],调用一次后s=3+f(a+3,3),再次调用得s=3+4+f(a+4,2),再调用的s=3+4+5+f(a+4,1)此时调用else 后面的
return
a[0];得s=3+4+5+6=18;也就是tc 输出的结果
2011-03-20 15:25
举报帖子
使用道具
赠送鲜花
天涯天下去
等 级:
论坛游民
帖 子:41
专家分:35
注 册:2010-12-2
第
15
楼
收藏
得分:0
编程是可以通过的就是括号的问题
答案确实是18呀
你可以调试下看下变量得存储过程啊
学无止境
2011-03-20 15:31
举报帖子
使用道具
赠送鲜花
赵贺辉
来 自:河南
等 级:
论坛游民
帖 子:28
专家分:19
注 册:2011-3-18
第
16
楼
收藏
得分:0
回复 10楼 Alar30
括号是有问题,我我输入时没用英文形式,我在电脑编译运行后答案是18,可我不懂为什么啊。。。怎么算的????
2011-03-20 21:41
举报帖子
使用道具
赠送鲜花
赵贺辉
来 自:河南
等 级:
论坛游民
帖 子:28
专家分:19
注 册:2011-3-18
第
17
楼
收藏
得分:0
回复 14楼 chenwei435
呵呵,一看到你的,马上就明白了,原来我把a[0]当成同一个了!!!1呵呵,谢谢啊。。。解决了一直困扰我的这个题
2011-03-20 21:48
举报帖子
使用道具
赠送鲜花
常建华
等 级:
论坛游民
帖 子:16
专家分:28
注 册:2011-3-20
第
18
楼
收藏
得分:0
答案对呀! 就是18
aa+2 内存地址的首地址存放的是3 然后传递给a
就相当于啊a[0]=3 n=4
递归 调用
3+4+5+6 = 18
2011-03-20 22:47
举报帖子
使用道具
赠送鲜花
18
2/2页
1
2
快速回复:
大伙帮看看,这道题是不是给错了,我算的结果和答案不一样
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.018448 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved