| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 618 人关注过本帖
标题:麻烦解释下这个程序
只看楼主 加入收藏
langren2526
Rank: 2
等 级:论坛游民
帖 子:46
专家分:37
注 册:2010-3-12
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:7 
麻烦解释下这个程序
程序实现了a[SIZE]数组的反序排列,输出结果为:37 60 70 90 14 95 18 64 27 32
#include<stdio.h>
#define SIZE 10

void someFunction (int [], int);

main()
{
    int a[SIZE]={32, 27, 64, 18, 95, 14, 90, 70, 60, 37};
   
    printf("The values in the array are: \n");
    someFunction(a, SIZE);
    printf("\n");
   
    getch();
}

void someFunction (int b[], int size)
{
    if(size>0)                             /*搞不懂这里是怎么实现a[SIZE]反序排列的,
    {                                              请高手解释一下,希望尽量详细点*/
        someFunction(&b[1], size-1);
        printf("%d ", b[0]);
    }
}
搜索更多相关主题的帖子: 麻烦 解释 
2010-04-05 13:40
ltyjyufo
Rank: 9Rank: 9Rank: 9
来 自:未来
等 级:蜘蛛侠
威 望:2
帖 子:353
专家分:1166
注 册:2009-10-25
收藏
得分:0 
void someFunction (int b[], int size)好像是反向输出吧,不是反向排序。。(也可能是我看错了)

翱翔天空的雄鹰固然令人羡慕,却容易被禁锢于牢笼之中,只有那夜色中的蝙蝠才是真正自由的飞翔者....
2010-04-05 14:06
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:4 
递归

你可以心算下  条件是size>0  那么当 size为1时 也就是最后一层
不满足条件 而 这时候b的地址 相当于 在每次传递的时候+1
当size为1时  地址指向已经到 倒数第一位了
2010-04-05 14:07
hziee
Rank: 4
等 级:业余侠客
帖 子:64
专家分:257
注 册:2010-3-12
收藏
得分:1 
自己看下递归函数的概念!
2010-04-05 15:58
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:1 
someFunction(&b[1], size-1);//自己琢磨下这句

想象力征服世界
2010-04-05 18:50
ggvvcc
Rank: 3Rank: 3
来 自:山东临沂
等 级:论坛游侠
帖 子:50
专家分:119
注 册:2010-4-3
收藏
得分:4 
是倒叙输出,并没有改变数组中的数据。
size > 0时递归一直进行,当这个条件不满足时,if语句中someFunction函数后的输出语句被执行,然后本次函数调用结束,向上返回,依次类推,可以把每次递归写成不同函数的调用,例如someFunction1、someFunction2……
写在纸上多分析几遍。
2010-04-05 19:10
woodydongli
Rank: 2
等 级:论坛游民
帖 子:57
专家分:84
注 册:2010-4-4
收藏
得分:0 
这不是递归嘛,这么简单的递归.
2010-04-06 11:25
NOMIPS
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:86
专家分:537
注 册:2010-3-31
收藏
得分:0 
SIZE 应为 数组元素个数+1
2010-04-06 12:14
快速回复:麻烦解释下这个程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035344 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved