楼主你使用断点调试,看它一步步是怎么执行的,还有使用call stack功能看看压入榨里面的函数不就清楚了么!
如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
注意递归深度、关注返回哪里。
既要低头拉车、也得抬头问路。
请告诉我8和10中隐含的return是怎么来的??怎么以前看的教材中没有提到有隐含的return呢!!
#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