Une bug en c

Résolu
soufi -  
 soufi -
Bonjour,

je voudrai récupérer une chaine de caractère entrée par le clavier mais il m'affiche pas s'il vous plait est ce que vous pouvez vérifier avec moi le code suivant:

 char* p="";
printf("\n");
    printf("entrer ta lettre %s");
    scanf("\n%s",&p);


2 réponses

  1. soufi
     
    s'il vous vous allez juste voir si ce code et juste ou non car normalement si ca marche il m'affichera la chaine écrite mais lors l'exécution il n'arrive pas à le lire
    0
    1. soufi
       
      ici lorsque j'ai changé le code et je je saisie par exemple " X " il m'affiche l'espace vide ??
          char* p;
          char* e;
          p="";
          e="";
          printf("\n");
          printf("entrer ta lettre %s\n",p);
          scanf("\n%s",&e);
          printf ("la lettre saisie est\n%s",e);
      
      
      0
    2. soufi
       
      une réponse s'il vous plais, merci en avance
      0
    3. soufi
       
      un autre message qu'il m'affiche "i can not be run in dos mode." ??
      0
  2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,

    Pas mal d'erreurs dans tous tes codes.
    Je corrige le premier :
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void) {
     /*il faut allouer de la place sur la zone pointée*/
     char* p=malloc(26);
     /*si t'aimes pas malloc, un simple char p[26]; ferait l'affaire*/
    
      printf("\n");
      printf("entre ta phrase\n"); /*pas besoin de %s*/
      scanf("%25s",p);/*pas de \n devant le %s, pas de & devant p*/
      printf("%s\n",p); /*pour afficher la phrase, ou plus simplement avec puts(p);*/
       free(p),p=NULL;/*à rajouter si utilisation de malloc*/
      return 0;  
    }
    


    Et sois un peu plus patient à l'avenir. C'est un forum de bénévoles ;-))).
    0
    1. soufi
       
      merci beaucoup. D'accord je serais plus patiente prochainement :)
      0