1. 要求:
-
外部输入一个整数 n ;
-
递归法打印这个整数的每一位;
2. 代码
#define _CRT_SECURE_NO_WARNINGS 1
#pragma warning(disable:6031)
#include <stdio.h>
//Author: wanlin_z
//代码要求: 用递归法打印一个整数的每一位;
void print_nums(int n)
{
if (n / 10 != 0)
{
print_nums(n / 10);
}
printf("%d ", n % 10);
}
int main()
{
int n = 0;
printf("输入一个需要打印的整数>:");
scanf("%d", &n);
//调用函数打印这个整数的每一位:
print_nums(n);
return 0;
}
3. 问题
有个问题就是,按照这个代码执行,如果输入一个负整数,那么打印的每一位都带个负号(for exemple:输入-123,打印:-1 -2 -3)。这算是bug吗?求教各位大佬修改意见,不胜感激!