c语言的递归法

来源:百度知道 编辑:UC知道 时间:2024/05/04 15:02:58
用递归法讲一个整数n换成字符串,例如输入483,应输出字符483。n的位数不确定
程序如下:

main()
{void convert(int n);
int number;
printf("input an interger:")
scanf("%d",&number);
printf("output:");
if(number<0)
{putchar('-');
number=-number;}
convert(number);
putchar('\n');
}

void convert(int n)
{int i;
if((i=n/10)!=0)
convert(i);
putchar(n%10+'0');
}
请问这段convert函数什么意思,我不懂他的原理啊

谢谢

i=n/10

这个表达式将n“去掉”最低位之后的结果保存到i中,如果i=0将表示n已经成为了一位数,即只剩最高位,此后便开始回退,用putchar(n%10+'0');输出每次递归调用时的n的最低位输出。