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

akalook Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
ydurce Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   18
 
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