Une bug en c

Résolu/Fermé
soufi - 17 sept. 2011 à 14:11
 soufi - 17 sept. 2011 à 15:41
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);


A voir également:

2 réponses

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
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
une réponse s'il vous plais, merci en avance
0
un autre message qu'il m'affiche "i can not be run in dos mode." ??
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
17 sept. 2011 à 15:35
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
merci beaucoup. D'accord je serais plus patiente prochainement :)
0