Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1747 connectés 

  FORUM HardWare.fr
  Programmation
  C

  erreur besoin d'aide

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

erreur besoin d'aide

n°2120160
london_fev​er
Posté le 08-01-2012 à 18:36:19  profilanswer
 

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 :
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int main(){
  4.     int i=0;
  5.     int taille;
  6.     char mot;
  7.     char tab[30];
  8.     printf("choisissez un mot\n" );
  9.         scanf("%s", &mot);
  10.     strcpy(tab,mot);
  11.     taille=len(tab);
  12.     for(i=0; i<taille; i++){
  13.         tab[i]=tab[6-i];
  14.         if(i==6-i){
  15.             break;
  16.         }
  17.     }
  18.     printf(tab);
  19. }

mood
Publicité
Posté le 08-01-2012 à 18:36:19  profilanswer
 

n°2120161
Terminapor
I'll see you rise.
Posté le 08-01-2012 à 18:48:42  profilanswer
 

mot c'est qu'un seule caractère, plutôt &mot dans le strcpy ?
Ou alors fais de mot un char*, parce que là, sur ton scanf tu reçevra qu'une seule lettre
 
et la fonction len() doit ni être dans stdio, ni dans stdlibs


---------------
Perhaps you don't deserve to breathe
n°2120163
london_fev​er
Posté le 08-01-2012 à 18:59:50  profilanswer
 

Ok alors j'ai mis string.h, et effectivement ça fonctionne avec &mot dans le strcpy  
merci

n°2120164
london_fev​er
Posté le 08-01-2012 à 19:04:46  profilanswer
 

Par contre c'est bizarre  
Normalement le programme doit inverser le sens des lettre d'un mot  
et quand je met bonjour ça fait ruojour
à la place de ruojnob

n°2120166
breizhbugs
Posté le 08-01-2012 à 19:17:58  profilanswer
 

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 :
  1. char mot;
  2.      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 :
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int main(){
  4.     int i=0;
  5.     int taille;
  6.     char mot[10]; // ton mot peut être composé de 9 lettres + le \0 final
  7.     char tab[30];
  8.     printf("choisissez un mot\n" );
  9.         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!)
  10.     strcpy(tab,mot); // maintenant ca marche tel que
  11.     taille=strlen(tab); //
  12. ...
  13. }


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...
n°2120193
london_fev​er
Posté le 08-01-2012 à 22:53:21  profilanswer
 

Ha yep c'est bon j'ai créer une autre variable pour échanger les valeurs merci beaucoup


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  erreur besoin d'aide

 

Sujets relatifs
AIDE script bash avec en sortie, arborescence navigableBesoin d'Aide
Besoin d'aide, erreur php.Erreur sur page PHP (besoin d'aide)
Erreur Installation Oracle --> j'ai besoin d'aide!!Erreur compilation (besoin d'aide)
besoin d'aide pour resolution d'erreur sous visual c++Erreur d'execution 94 avec MS VB ==> besoin aide requete SQL
BATCH DOS Besoin d'aide : Erreur bizar !!![PHP] erreur a la con besoin d'aide!
Plus de sujets relatifs à : erreur besoin d'aide


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR