可以用递归的方式一步一步得到这个整数的每一位数,直到递归到个位数,如此printf应该放在递归前面,才能完成整数的逆序打印。
至于个位数为0,可以在整数进入函数之前就可以先进行判断个位数是否为0,如果为0,就进行除10的运算,再进入函数进行逆序,就可以做到逆序不打印0的效果。
#include <stdio.h>
void pp(int n)
{
if (n <= 9)
{
printf("%d", n);
}
if (n > 9)
{
printf("%d", n % 10);
pp(n / 10);
}
}
int main()
{
int n = 0;
scanf("%d", &n);
if (n % 10 == 0)
{
n /= 10;
}
pp(n);
return 0;
}