奥赛的一道题,,各位看看怎么做
4.#include <stdio.h> void digit(long n,long m)
{if(m>0)
printf("%2ld",n%10);
if(m>1)
digit(n/10,m/10);
printf("%2ld",n%10);
}
main()
{long x,x2;
printf("Input a number:\n"); scanf("%ld",&x);
x2=1;
while(x2<x) x2*=10;
x2/=10;
digit(x,x2);
printf("\n");
}
输入:9734526
输出:______________________________
答案是 6 2 5 4 3 7 9 9 7 3 4 5 2 6(数字之间无空格扣2分)
但我觉得输出应该是6,m>1明明不成立,怎么出来的这么一串数。谁能帮忙解释一下?