I think it should be something like this:
for(int i = 0; i < numberDigits; ++i) printf("%d",myNumber[i]);
instead of:
for(int i = 0; i <= numberDigits; ++i) printf("%i",myNumber[i]);
And in the first loop:
myNumber[numberDigits - (i + 1)] = number % 10;
Also, you could use something like this to know the number of digits:
int digits(long long num) {
if(!num) return 1;
return log10(num) + 1;
}