C语言用递归实现十进制转八进制

// 150 150/8=18...6 
//18   18/8=2...2
//2    2/8=0...2
//十进制150  转为   8进制的值为226
//编写函数 convert,将输入的十进制整数转换为八进制并输出。
#include<stdio.h>
int convert(int n)
{  
	int temp;
	if(n==0)
	{
		return 0;
	}	
	else
	{
            temp=n%8;  //入栈 6 2 2 
            n=n/8;     //18 2 0
            convert(n); //出栈 2 2 6
            printf("%d",temp);
	}
	//注意:递归条件使用return 则最终只返回一个值
	return 0;
}

int main() {
	convert(150);
}

猜你喜欢

转载自blog.csdn.net/weixin_41987016/article/details/106555612