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

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
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
soufi
 
une réponse s'il vous plais, merci en avance
0
soufi
 
un autre message qu'il m'affiche "i can not be run in dos mode." ??
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
soufi
 
merci beaucoup. D'accord je serais plus patiente prochainement :)
0