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
i
nã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á aelse
bloquear usando esse código, comoif(i % 2 == 0)
ouelse if(i % 2 != 0)
, sendoi
implicitamente 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.