Erreur lors de la compilation en C
Dim78
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je débute totalement en C, je dois, dans le cadre d'un exercice de cours, écrire un programme qui revoit le code ASCII d'un entier.
J'ai donc écrit ce programme :
"
#include <stdio.h>
#include <math.h>
int main() {
int a;
printf("Donnez un entier compris entre 0 et 127\n");
scanf ("%d",&a);
printf ("Le caractère ayant '%d' pour code ASCII est",a);
if (-1 < a < 32) or (a == 127)
printf ("un caractère de contrôle non affichable\n");
else if ( 64 < a < 91 )
printf ("'%c' de l'alphabet latin minuscule\n",a);
else if ( 96 < a < 123 )
printf ("'%c' de l'alphabet latin majuscule\n",a);
else if ( 47 < a < 58 )
printf ("'%d', un chiffre\n",a);
else
printf ("un caractère de ponctuation affichable : '%c'\n",a);
return 0;
}
"
Lors de la compilation, il me met cette erreur : error: expected `;' before `printf'
printf ("un caractère de contrôle non affichable\n");
Je ne comprends pas, pourtant ma boucle IF est correct, non ?
Je vous remercie d'avance de votre aide, un étudiant en détresse
Je débute totalement en C, je dois, dans le cadre d'un exercice de cours, écrire un programme qui revoit le code ASCII d'un entier.
J'ai donc écrit ce programme :
"
#include <stdio.h>
#include <math.h>
int main() {
int a;
printf("Donnez un entier compris entre 0 et 127\n");
scanf ("%d",&a);
printf ("Le caractère ayant '%d' pour code ASCII est",a);
if (-1 < a < 32) or (a == 127)
printf ("un caractère de contrôle non affichable\n");
else if ( 64 < a < 91 )
printf ("'%c' de l'alphabet latin minuscule\n",a);
else if ( 96 < a < 123 )
printf ("'%c' de l'alphabet latin majuscule\n",a);
else if ( 47 < a < 58 )
printf ("'%d', un chiffre\n",a);
else
printf ("un caractère de ponctuation affichable : '%c'\n",a);
return 0;
}
"
Lors de la compilation, il me met cette erreur : error: expected `;' before `printf'
printf ("un caractère de contrôle non affichable\n");
Je ne comprends pas, pourtant ma boucle IF est correct, non ?
Je vous remercie d'avance de votre aide, un étudiant en détresse
A voir également:
- Erreur lors de la compilation en C
- Erreur t32 ✓ - Forum Livebox
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- J'aime par erreur facebook notification - Forum Facebook
2 réponses
ton if est incorrect, il faut que toute l'expression soit entre parenthèses :
sinon ton compilateur pense que or (a == 127) est la ligne de code suivante.
tu peux aussi simplifier en :
if ((-1 < a < 32) or (a == 127) )
sinon ton compilateur pense que or (a == 127) est la ligne de code suivante.
tu peux aussi simplifier en :
if (-1 < a < 32 || a == 127)
Merci de ta réponse, j'ai appris à coder en ADA, je garde quelques mauvais réflexes que je vais devoir effacer ... :s
Mon programme compile normalement maintenant mais lors de l'exécution, dans tous les cas, il me met "un caractère de contrôle non affichable".
Quelqu'un a une idée ? ^^'.
J'aimerais ajouter que j'ai un warning par ligne de if aussi : "comparisons like `X<=Y<=Z' do not have their mathematical meaning [-Wparentheses]
else if ( 47 < a < 58 ) "
Mon programme compile normalement maintenant mais lors de l'exécution, dans tous les cas, il me met "un caractère de contrôle non affichable".
Quelqu'un a une idée ? ^^'.
J'aimerais ajouter que j'ai un warning par ligne de if aussi : "comparisons like `X<=Y<=Z' do not have their mathematical meaning [-Wparentheses]
else if ( 47 < a < 58 ) "