搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ [求助]关于递归调用
标题:
[求助]关于递归调用
只看楼主
Merry_sf
等 级:
论坛游民
帖 子:30
专家分:24
注 册:2012-12-9
结帖率:
100%
楼主
已结贴
√
问题点数:20 回复次数:7
[求助]关于递归调用
*/
void f(int* x,int n)
{
if(n>=10)
//if(judge(x)) show(x);
return;
x[n]=0;
f(x,n+1);
x[n]=1;
f(x,n+1);
}
int main(int argc,char* argv[])
{
int x[]={0,0,0,0,0,0,0,0,0,0};
f(x,0);
return 0;
}
搜索更多相关主题的帖子:
void
return
2013-02-16 19:11
Merry_sf
等 级:
论坛游民
帖 子:30
专家分:24
注 册:2012-12-9
第
2
楼
得分:0
没整明白在里面是怎么变化的。 f()里面的那两个f()是同时进行的?
2013-02-16 19:13
Merry_sf
等 级:
论坛游民
帖 子:30
专家分:24
注 册:2012-12-9
第
3
楼
得分:0
菜鸟一枚 大神勿喷
2013-02-16 19:14
Merry_sf
等 级:
论坛游民
帖 子:30
专家分:24
注 册:2012-12-9
第
4
楼
得分:0
没人说两句? - - 好吧 问题弱智了。。
2013-02-16 19:19
chololong
等 级:
新手上路
帖 子:1
专家分:5
注 册:2013-1-24
第
5
楼
得分:5
#include<stdio.h>
void f(int x[],int n)
{
if(n>=5)
//if(judge(x)) show(x);
return;
x[n]=0;
printf("n=%d,x[n]=%d\n",n,x[n]);
f(x,n+1);
x[n]=1;
printf("n=%d,x[n]=%d\n",n,x[n]);
f(x,n+1);
}
int main(int argc,char* argv[])
{
int x[]={0,0,0,0,0,0,0,0,0,0};
f(x,0);
return 0;
}
加了两个个输出语句,自己可以程序运行过程(我把递归次数改小了,10次我这机子运行出来有问题)。
2013-02-17 18:23
小旭哥
等 级:
论坛游民
帖 子:106
专家分:72
注 册:2012-11-4
第
6
楼
得分:10
递归的思想不是让你理解这个过程物理上具体是怎么运行的,关键在于抽象思维,逻辑运行。递归的抽象性很强的。也许很小的递归问题,你还能想明白是怎么运作的,规模稍微大那么一点点,你就想不通了,关键在于抽象性思维。慢慢去悟吧
2013-02-17 18:41
小旭哥
等 级:
论坛游民
帖 子:106
专家分:72
注 册:2012-11-4
第
7
楼
得分:5
不是同时进行的 是先第一个f()一直递归,再全部返回,然后第二个f()递归,再全部返回。
2013-02-17 18:43
Merry_sf
等 级:
论坛游民
帖 子:30
专家分:24
注 册:2012-12-9
第
8
楼
得分:0
回复 7楼 小旭哥
嗯啊 这个知道 只是感性上理解不过来 总感觉是同时进行的 你说得对啊 想这个过程没用 这是个抽象思维 = =
2013-02-17 21:27
8
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-398662-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.070748 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved