Une bug en c

Résolu
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. 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
    1. 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);
      
      
    2. une réponse s'il vous plais, merci en avance
    3. un autre message qu'il m'affiche "i can not be run in dos mode." ??
  2. Contributeur
    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 ;-))).
    1. merci beaucoup. D'accord je serais plus patiente prochainement :)