Compile pas !!
Fermé
Nulia
-
Modifié par Nulia le 11/12/2014 à 19:26
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 13 déc. 2014 à 15:08
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 13 déc. 2014 à 15:08
A voir également:
- Compile pas !!
- Java est un langage compilé ou interprété ✓ - Forum Java
- Différence entre languag compilé e interprété ✓ - Forum Programmation
- Référence future non valide ou référence à un type non compilé ✓ - Forum VB / VBA
- Compilé ou interprété - Forum Programmation
- Java langage compilé ou interprété - Forum PHP
1 réponse
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
Modifié par [Dal] le 12/12/2014 à 16:24
Modifié par [Dal] le 12/12/2014 à 16:24
Bonjour Nulia,
Ce programme compile avec gcc -Wall et produit un exécutable.
gcc produit cependant 2 warnings (qui sont donc des avertissements, et non pas des erreurs empêchant la compilation, qui, la plupart du temps signalent des comportements à risque voire des erreurs possibles, autres que de syntaxe) :
qui correspondent aux lignes suivantes où scanf est utilisé, avec un paramètre erroné :
vu que
de même, vu que
Note que, sur le reste, je n'ai pas regardé ton code.
Dal
Ce programme compile avec gcc -Wall et produit un exécutable.
gcc produit cependant 2 warnings (qui sont donc des avertissements, et non pas des erreurs empêchant la compilation, qui, la plupart du temps signalent des comportements à risque voire des erreurs possibles, autres que de syntaxe) :
nulia.c:47:2: warning: format `%s' expects argument of type `char *', but argument 2 has type `char **' [-Wformat]
nulia.c:49:2: warning: format `%s' expects argument of type `char *', but argument 2 has type `char (*)[10]' [-Wformat]
qui correspondent aux lignes suivantes où scanf est utilisé, avec un paramètre erroné :
scanf ("%s",&str); printf(" donner la cle:"); scanf ("%s",&key);
vu que
strest déclaré comme étant un
char *strc'est déjà un pointeur sur char et donc le & est inutile.
de même, vu que
keyest déclaré comme étant
char key[10], c'est un tableau de char, et la référence au nom du tableau correspond à l'adresse à laquelle se situe le premier élément du tableau. Tu as donc déjà un pointeur et le & est de nouveau non nécessaire.
Note que, sur le reste, je n'ai pas regardé ton code.
Dal
13 déc. 2014 à 15:08
Pour le reste, pareil, j'ai pas lu.