O primeiro: scanf("%d\n", &i); deve ser scanf("%d", &i); .
Também outros erros:
- O segundo argumento de
main()deve ser convertido em um ponteiro para uma matriz de caracteres ou em um ponteiro para um ponteiro para um caractere:char *argv[]ouchar **argv; - Se
inão for um número, ele ainda será convertido em um número inteiro emif(i % 2 == 0)eelse if(i % 2 != 0)para que a expressão seja avaliada (na verdade, você nunca obterá aelsebloquear usando esse código, comoif(i % 2 == 0)ouelse if(i % 2 != 0), sendoiimplicitamente convertido em um inteiro, será avaliado como verdadeiro). Faça uma leitura em this para obter informações mais adequadas maneiras de verificar se uma string é numérica.