london_fever a écrit :
Bonsoir,
j'ai un problème dans mon code à la ligne 11, l'erreur est la suivante: note: expected 'const char *' but argument is of type 'char'
undefined reference to `len'
Code :
- char mot;
- scanf("%s", &mot);
|
|
Tu as conscience que tu ne réserve qu'un seul octet pour recevoir ta saisie et que tu demandes d'y ranger un mot (donc composé de plusieurs octets!)
change en:
Code :
- #include<stdio.h>
- #include<stdlib.h>
- int main(){
- int i=0;
- int taille;
- char mot[10]; // ton mot peut être composé de 9 lettres + le \0 final
- char tab[30];
- printf("choisissez un mot\n" );
- scanf("%s", &mot); //scanf n'est pas sécurisée, il remplira mot avec autant de lettre que tu lui fournira! vaut mieux mettre scanf("%9s", &mot); // pour limiter la lecture de scanf a 9 lettres (sinon plantage/comportement indéfini!)
- strcpy(tab,mot); // maintenant ca marche tel que
- taille=strlen(tab); //
- ...
- }
|
Pour l'inversion de lettre c'est normal
# for(i=0; i<taille; i++){
# tab[i]=tab[6-i]; // tu *écrases* la valeur de début et tu la remplaces par la valeur de fin
# if(i==6-i){
# break;
# }
# }
On te t'as jamais dis que pour échanger 2 valeurs en informatique on est obligé de passer par une troisième variable?
Message édité par breizhbugs le 08-01-2012 à 19:20:46
---------------
Seul Google le sait...