问题
I'm trying to extract the digits from a number n, with:
00000000000 ≤ n ≤ 99999999999
using the following code:
#include <stdio.h>
int main()
{
int N;
int power=1;
scanf("%d",&N);
while(N>power)
power*=10;
power/=10;
while(N != 0)
{
int digit = N/power;
printf("%d\n", digit);
if(digit!=0)
N=N-digit*power;
if(power!=1)
power/=10;
}
return 0;
}
It works well for a range of values, but for an 11 digit number, I get an error. Any tips on how to fix it to handle the n range?
来源:https://stackoverflow.com/questions/59722275/extract-digits-from-a-long-number-in-c