Il primo 0 fa interpretare il numero in base ottale, il secondo non viene considerato perché non ha valore, l'unica cifra significativa è 1.
Devi utilizzare delle stringhe:
codice:
#include <stdio.h>
#include <string.h>

int main(void) {
    int i;
    char n[20];
    char inv[20];
    scanf("%s", n);
    for(i = 0; i < strlen(n); i++) {
        inv[strlen(n)-i-1] = n[i];
    }
    inv[strlen(n)] = '\0';
    printf("%s", inv);
    return 0;
}