读书人

百度知道上有人有个有关问题。自己看了

发布时间: 2013-09-05 16:02:06 作者: rapoo

百度知道上有人有个问题。自己看了也并不明白。。关于递归调用的。求大神知道
如题:
void fzx(int n)
{if(n/10!=0)fzx(n/10);
cout<<n%10<<"\t";
}
这是个递归问题,题目中说输入3456,按上面的可以得出3456,先听我说下我的思路看对不对,输入3456,3456/10不为0,则调用fzx(345),一直继续下去,直到3/10=0,这样就看下面的cout,则输出为3%10=3,结束,可是答案为什么是3456,我看答案有时回归,求大神解答

C++ 递归
[解决办法]
这是递归回溯过程打印,自然是反着,也是正确的.
[解决办法]
递归过程为:
fzx(3456)
fzx(345)
fzx(34)
fzx(3)
cout << 3%10 << "\t"
cout << 34%10 << "\t"
cout << 345%10 << "\t"
cout << 3456%10 << "\t"

所以结果是
3 4 5 6

读书人网 >C++

热点推荐