30桁だから文字列だろ #include <stdio.h> int main(void) { char num[] = "123456789012345678901234567890"; int arr[30]; int i; int c = strlen(num); for (i = 0; i < c; i++) { arr[c - i - 1] = num[i] - '0'; } for (i = 0; i < c; i++) { printf("%d ", arr[i]); } return 0; }