Problème de fichier executable

Problème de fichier executable - C - Programmation

Marsh Posté le 29-11-2008 à 19:59:11    

Bonjour, je programme en C avec CodeBlocks .. la compilation se déroule trés bien MAIS dès que je veux exécuter .. j'ai une fenêtre windows d'erreur me proposant d'envoyer un rapport ..
 
J'ai essayer de lancer un prog dans la console windows .. même resultat
 
de même avec DevC++ ...
 
si quelqu'un peut m'aider !! merci !! :)  :)

Reply

Marsh Posté le 29-11-2008 à 19:59:11   

Reply

Marsh Posté le 29-11-2008 à 21:08:26    

des détails prease  :o

Reply

Marsh Posté le 29-11-2008 à 22:20:23    

par exemple j'ai un fichier main.c
lors de la compilation un fichier main.exe est crée
mais lorsque je veux lancer main.exe   windows m'affiche une fenetre : "main.exe a rencontré un pb et doit fermer"
 
J'ai XP .. mais j'ai essayé avec plusieurs fichier code source C mais tjrs le meme message
 
j'espere avoir été plus clair ..
 

Reply

Marsh Posté le 30-11-2008 à 00:21:59    

lance dans ton debugger intégré

Reply

Marsh Posté le 30-11-2008 à 14:20:17    

dans le debuggeur de codeBlocks par exemple ? ça ne marche pas non plus ..

Reply

Marsh Posté le 30-11-2008 à 15:00:51    

s'il n'est pas trop gros affiche le code source de main.c ici, il doit y avoir un vieux bug. :)

Reply

Marsh Posté le 30-11-2008 à 15:04:53    

si tu veux lol :
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define N 3
  4. #define NbClauses N
  5. typedef struct doublet
  6. {
  7.     int lit;
  8.     struct doublet *suiv;
  9. }maillon;
  10. typedef maillon *clause;
  11. typedef clause cnf[NbClauses];
  12. void initialise(clause *c)
  13. {
  14.     clause f;
  15.     while ((*c)!=NULL)
  16.     {
  17.         f=(*c)->suiv;
  18.         free(*c);
  19.         *c=f;
  20.     }
  21.     *c=NULL;
  22. }
  23. clause position(clause c)
  24. {
  25.     clause t=c;
  26.     while (t->suiv!=NULL)
  27.     {
  28.         t=t->suiv;
  29.     }
  30.     return t;
  31. }
  32. void ajoute(clause *c,int litter)
  33. {
  34.     clause k=*c;
  35.     clause t=(clause)malloc(sizeof(maillon));
  36.     while (k->suiv!=NULL)
  37.     {
  38.         k=k->suiv;
  39.     }
  40.     k->suiv=t;
  41.     t->lit=litter;
  42.     t->suiv=NULL;
  43.     *c=k;
  44. }
  45. void affiche(clause c)
  46. {
  47.     clause lect=c;
  48.     while (lect!=NULL)
  49.     {
  50.         printf("%d",lect->lit);
  51.         lect=lect->suiv;
  52.     }
  53. }
  54. main ()
  55. {
  56.     clause k;
  57.     int prop;
  58.     initialise(&k);
  59.     printf("entrer un entier :  " );
  60.     scanf("%d",prop);
  61.     ajoute(&k,prop);
  62.     affiche(k);
  63. }


 
Mais je tiens à préciser que c'est pour tout mes fichiers de code en C .. :)


Message édité par pooky13 le 30-11-2008 à 15:05:52
Reply

Marsh Posté le 30-11-2008 à 15:38:24    

scanf("%d",prop);
 
boum.
commence déjà par compiler avec des warnings

Reply

Marsh Posté le 30-11-2008 à 15:48:04    

Ok (merci pr la correc').. mais ce que je veux préciser c'est que d'autres codes tout a fait valides (compiler sur d'autres ordi) refusent de s'exécuter ..

Reply

Marsh Posté le 30-11-2008 à 17:48:41    

mets un "getchar();" tout à la fin ...

Reply

Marsh Posté le 30-11-2008 à 17:48:41   

Reply

Marsh Posté le 01-12-2008 à 21:21:03    

ca ne marche pas non plus mais merci d'essayer de m'aider! est-ce que c'est possible que ce soit un pb de variables d'environnement ??

Reply

Marsh Posté le 01-12-2008 à 23:41:08    

Ca passe ca ?
 

Code :
  1. int main(void) { return 0; }

Reply

Marsh Posté le 02-12-2008 à 16:53:44    

Ta clause k n'est pas initialisé donc quand tu arrives dans ta méthode initialise -> free("valeur aléatoire" ).
Ensuite ajoute ne marche pas s'il n'y a pas déjà une clause.
Pour finir ta fonction Position renvoie toujour NULL.

Reply

Marsh Posté le 02-12-2008 à 18:19:14    

waouhh Tarabiscote t'es un as! merci bcp bcp bcp!   :)
 
j'essayerais d'avoir un prog avec moins d'erreur la prochaine fois!
 
Merci mille fois !
 
Et pr répondre à regexp42 .. non ca ne marche pas ! merci tout de même !


Message édité par pooky13 le 02-12-2008 à 18:20:41
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed