c语言输入一个数用递归法输出字符串

2025-03-12 14:00:57
推荐回答(3个)
回答1:

void orange(int x)
{
if(x<0)
printf("it is wrong\n");
else if(x<10)
printf("%d",x);
else
{
printf("%d",x/10);
x = x/10;
orange(x%10);
}
}

回答2:

最后的迭代那逻辑有些错误
应该是显示当前数位,当它大于10的时候,继续迭代
程序改为
#include
void orange(int);
int main(void)
{
int n;
printf("请输入一个数:\n");
scanf("%d",&n);
orange(n);
return 0;
}
void orange(int x)
{
if(x<0)
printf("it is wrong\n");
else
{
printf("%d",x%10);
if(x>=10)
orange(x/10);
}
}

回答3:

main函数少了一个 ‘}’

else(x>=10) else后面不跟条件