递归调用!!!
大家来看看这个递归,发表下意见#include<stdio.h>
int main(void)
{
void s(int a);
int b;
scanf("%d",&b);
s(b);
getch();
return 0;
}
void s(int a)
{
if(a>10)
s(--a);
printf("%d\t",a);
}
----------------解决方案--------------------------------------------------------
你可以画递归图...自己看看..
----------------解决方案--------------------------------------------------------
printf("%d\t",a);
位于递归调用后的语句的执行顺序和各级被调用函数的顺序相反。
----------------解决方案--------------------------------------------------------
发表什么意见啊?。。。
----------------解决方案--------------------------------------------------------
s(--a);
这样的调用肯定是不对的。。。
----------------解决方案--------------------------------------------------------
为什么不对?
s(--a);这样的调用哪里不对?
----------------解决方案--------------------------------------------------------
s(--a)改为 s((--a))
好象差不多
[[it] 本帖最后由 zglcx123 于 2008-4-2 14:42 编辑 [/it]]
----------------解决方案--------------------------------------------------------
s(--a);
看目的是什么..用法没错
----------------解决方案--------------------------------------------------------