当前位置: 代码迷 >> C语言 >> [求助]一个函数调用自身的程序
  详细解决方案

[求助]一个函数调用自身的程序

热度:160   发布时间:2006-03-16 16:56:00.0
[求助]一个函数调用自身的程序

大家好.下面是个函数调用自身的程序,输出的结果为什么是VALUE值的每个位的数字,而不是输出VALUE的第一位数字?
请大家帮忙看看.谢谢.程序简单,没写注释.

#include<stdio.h>

void
a(unsigned int value)
{
unsigned int point;
point=value/10;
if(point!=0)
a(point);
putchar(value%10+'0');
printf("\n");
}
/*--------------------------------------*/
int
main(void)
{
int value=485939;
a(485939);
return 0;
}

搜索更多相关的解决方案: 函数  

----------------解决方案--------------------------------------------------------
怎么没人看也没人回答??
----------------解决方案--------------------------------------------------------
point=value/10;
----------------解决方案--------------------------------------------------------

#include<stdio.h>

void
a(unsigned int value)
{
unsigned int point;
point=value/10;
if(point!=0) a(point);
else
{
putchar(value%10+'0');/*每次该段程序都被执行依次*/
printf("\n");
}
}
/*--------------------------------------*/
int
main(void)
{
int value=485939;
a(485939);
return 0;
}


----------------解决方案--------------------------------------------------------

递归的问题 多看看递归的资料就可以了
我也是不懂才看的 现在明白了


----------------解决方案--------------------------------------------------------

a函数中执行到IF语句不是又调用了a函数吗?这样就又再次回到a函数,直到POINT==0为止.这样再执行PUTCHAR语句,不是输出了4吗?怎么输出了各个位数?


----------------解决方案--------------------------------------------------------
  相关解决方案