| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3824 人关注过本帖
标题:如何理解递归调用?
取消只看楼主 加入收藏
封闭
Rank: 9Rank: 9Rank: 9
来 自:广东省汕头市
等 级:蜘蛛侠
威 望:1
帖 子:501
专家分:1084
注 册:2007-9-14
结帖率:80%
收藏
 问题点数:0 回复次数:2 
如何理解递归调用?
要如何理解递归调用呢?
如下面的题:
main()
{
int a,b;
long power(),t;
clrscr();
printf("输入两个整数:");
scanf("%d,%d",&a,&b);
t=power(a,b);
printf("%d^%d=%ld",a,b,t);
}
long power(x,n)
int x,n;
{
long y;
if(n>0)
 y=x*power(x,n-1);
else y=1;
return y;
}

红色部分不是很能理解..
只知道当n=0的时候,y=1;
然后返回...
但是返回的时候就不知道要怎么处理了.

还有请各位大虾帮忙解答下...
先谢过了...
搜索更多相关主题的帖子: 递归 long power int 
2007-12-04 20:18
封闭
Rank: 9Rank: 9Rank: 9
来 自:广东省汕头市
等 级:蜘蛛侠
威 望:1
帖 子:501
专家分:1084
注 册:2007-9-14
收藏
得分:0 
我也知道是自己调用自己...
主要是下面的当n=0时.也就是不成立的时候.....
为什么返回后是y=x*power(x,n-1);?
这道题是求一个数的n次方.
例如:
x=3;n=4;
当n=0的时候。y就等于1;
返回后为什么是这样的:
y=x*power(x,n-1)=3;
y=x*power(x,n-1)=9;
y=x*power(x,n-1)=27;
y=x*power(x,n-1)=81;
我想知道的是这样的..
2007-12-05 12:39
封闭
Rank: 9Rank: 9Rank: 9
来 自:广东省汕头市
等 级:蜘蛛侠
威 望:1
帖 子:501
专家分:1084
注 册:2007-9-14
收藏
得分:0 
谢谢楼上的回答...
特别的感谢死了都要C...
看起来简单易懂..
2007-12-22 17:28
快速回复:如何理解递归调用?
数据加载中...
 
   



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

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