递归实现int转化为char字符串

2014-11-23 21:39:24 · 作者: · 浏览: 6

作者 : 卿笃军


主要就是要弄明白什么时候需要用' % ',什么时候需要用 ' / '。

示例:

将(int)123转化为(char)123:

123 % 10 = 3; 123 / 10 = 12;

12 % 10 = 2; 12 / 10 = 1;

1 % 10 = 1; 1 / 10 = 0;

0 % 10 = 0;

然后开始退出递归栈~~~

就是将左边取余的1,2,3从下往上打印出来~~~

#include 
  
   

void fn(int n)
{
	if(n % 10 != 0)
	{
		fn(n/10);
		printf("%c",(n%10)+'0');
	}
}

int main()
{
	unsigned int n = 0;

	scanf("%u",&n);
	fn(n);

	return 0;
}