| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 475 人关注过本帖
标题:一道在百度知道上找来的题
只看楼主 加入收藏
Quavarion
Rank: 2
等 级:论坛游民
帖 子:60
专家分:28
注 册:2009-10-9
结帖率:93.75%
收藏
已结贴  问题点数:20 回复次数:3 
一道在百度知道上找来的题
在百度上找的一个题目:

 int f(int n)
 { if(n/10!=0)  f(n/10);
printf("%d",n%10);
}
#include<stdio.h>
main()
{
f(123);
printf("\n");

getch();
} 的结果.我运行的结果是123;有谁知道是怎样来的吗?
搜索更多相关主题的帖子: 百度 
2009-11-06 21:06
タンポポ
Rank: 2
等 级:等待验证会员
帖 子:30
专家分:97
注 册:2009-11-6
收藏
得分:20 
f(123) if(123/10!=0) 执行f(12) 执行printf("%d",123%10); 得3
f(12)  if(12/10!=0)  执行f(1)  执行printf("%d",12%10); 得2
f(1)   if(1/10!=0)   此处不用执行  执行printf("%d",1%10); 得1
递归计算的回溯过程是一个逆向的计算过程
所以输出123
printf("\n");
2009-11-06 21:19
八月的风
Rank: 2
来 自:江苏盐城
等 级:论坛游民
帖 子:30
专家分:30
注 册:2009-11-6
收藏
得分:0 
该题是一个金店的递归问题,向当于先把(n%10)的值放到一个栈里面,满足一定条件时在依次 出栈;

八月的风
2009-11-07 11:46
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
属于递归问题。
2009-11-07 12:01
快速回复:一道在百度知道上找来的题
数据加载中...
 
   



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

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