Problème d'exécution avec Dev-c++

Fermé
akalook Messages postés 29 Date d'inscription mardi 21 juillet 2009 Statut Membre Dernière intervention 4 mars 2012 - 9 oct. 2010 à 10:25
ydurce Messages postés 78 Date d'inscription samedi 9 octobre 2010 Statut Membre Dernière intervention 12 décembre 2010 - 10 oct. 2010 à 10:37
Bonjour,

J'ai écris un programme en Dev C++ 9.2.2 Beta.je parviens à le compiler mais pas à l'exécuter!! Bizarre même si je mets le "PAUSE" cela ne marche pas.

#include <stdio.h>
#include <string.h>
#include <conio.h>
main()
{
char *p;
char c='';
int nombre=0;
char temp;
printf ("donner une chaine:");

scanf ("%S", p);
int i=0;
while (temp!='\0')
{
temp= p[i];
if (temp=='')nombre++;
}i++;
printf("%d",nombre);

getch();

}
Quel problème ai-je?


A voir également:

1 réponse

ydurce Messages postés 78 Date d'inscription samedi 9 octobre 2010 Statut Membre Dernière intervention 12 décembre 2010 18
10 oct. 2010 à 10:37
bonjour,

'char *p' crée un pointeur sur une variable de type char,
mais la variable de type char elle-même n'éxiste pas.
donc l'instruction scanf("%s",p) va écrire la chaine entrée à l'adresse contenue dans p qui n'a pas été initialisée, donc n'importe où, d'où plantage.

pour corriger
faire, au lieu de 'char *p', 'char p[nn]' où nn sera la dimension max+1 de la chaine attendue
0