• # char

    Posté par (site web personnel, Mastodon) . En réponse au lien 4 billion if statements (NdM: doublon). Évalué à 4. Dernière modification le 20 décembre 2025 à 15:08.

    Pour éviter les problèmes de tailles d'entiers, je me contenterais de tester le dernier chiffre, en tant que caractère :

    #include <stdio.h>
    #include <string.h>
    int main(int argc, char* argv[])
    {
     char c = argv[1][strlen(argv[1]) - 1] ;
     switch(c) {
     case '0':
     case '2':
     case '4':
     case '6':
     case '8': puts("Pair") ;
     break ;
     case '1':
     case '3':
     case '5':
     case '7':
     case '9': puts("Impair") ;
     break ;
     default : puts("Erreur") ;
     }
    }
    $ ./a.out 111111111111111111111111111111111111111111111111111111111111111111111111111
    Impair
    $ ./a.out 111111111111111111111111111111111111111111111111111111111111111111111111112
    Pair