搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 请教一个关于递归传递值的问题!
标题:
请教一个关于递归传递值的问题!
只看楼主
清微御宇
来 自:开封
等 级:
侠之大者
威 望:
2
帖 子:318
专家分:497
注 册:2012-1-15
结帖率:
100%
楼主
已结贴
√
问题点数:30 回复次数:3
请教一个关于递归传递值的问题!
看了一道题主函数就不打出来
void max(int *a,int n,int i,int *pk)
{
if(i<n)
{
if( a[i]<a[*pk])
*pk=i;
max(a,M,++i,pk);//以前写i++调试时崩溃!
}
}
我知道i++是先取i再加一就是想问问在这些值(max(……))传递过程中,都是如何对内存单元操作的!
[
本帖最后由 清微御宇 于 2012-4-17 15:38 编辑
]
搜索更多相关主题的帖子:
void
max
2012-04-17 14:00
cuijunchao
来 自:湖南桂东
等 级:
职业侠客
威 望:
3
帖 子:132
专家分:386
注 册:2012-4-4
第
2
楼
得分:11
递归很耗内存的,层数太多是会崩溃的。
2012-04-17 15:22
Wikyo_hoho
等 级:
论坛游侠
帖 子:31
专家分:188
注 册:2012-3-12
第
3
楼
得分:11
你这个递归没有终止条件?无限递归下去,崩溃了。
max(a,M,i,pk)调用了之后,在max函数了又调用了max(a,M,++i,pk);然后这个函数又调用max(a,M,++++i,pk);就像这样无限调用下去
2012-04-17 15:35
清微御宇
来 自:开封
等 级:
侠之大者
威 望:
2
帖 子:318
专家分:497
注 册:2012-1-15
第
4
楼
得分:0
回复 3楼 Wikyo_hoho
打抱歉错了,那个“}”放在下面的!
Stay hungry , Stay foolish!
2012-04-17 15:41
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-366007-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.226732 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved