楼主你使用断点调试,看它一步步是怎么执行的,还有使用call stack功能看看压入榨里面的函数不就清楚了么!

如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
2006-06-30 16:17
是不是递归返回的起点?如果粗暴地删掉它是不是递归永无回头之时?
俺也是初学,请别见笑!
2006-06-30 21:44
2006-07-01 01:48

2006-07-01 08:51
[此贴子已经被作者于2006-7-1 9:53:27编辑过]

2006-07-01 09:24
2006-07-01 13:24
注意递归深度、关注返回哪里。
既要低头拉车、也得抬头问路。
请告诉我8和10中隐含的return是怎么来的??怎么以前看的教材中没有提到有隐含的return呢!!
2006-07-01 14:32

2006-07-01 14:44
#include <stdio.h>
int times=0; //记录put()被调次数(含递归调用)
void put(char *ch,int k)//k记录当前递归深度
{
times++;
if(*ch=='\0')return;
put(ch+1,++k);
printf("%c%d",*ch,k);
}
main()
{
char ch[]="abcdef";
put(ch,0);
printf("\n%d\n",times);
}
//VC下运行实况
f6e5d4c3b2a1
7
Press any key to continue

2006-07-01 15:14