IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

fonction qui en fait planter une autre


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 24
    Par défaut fonction qui en fait planter une autre
    bonjour.

    C'est trés etrange... je vais expliquer ce qui se passe:
    il y a 3 fronctions:

    - fonction A qui est un algorythme
    - fonction B qui est un algorythme se servant du resultat de A
    - fonction A' qui affiche le resultat de A (fonction de controle)

    La fonction B ne modifie pas les resultat de A


    Si dans mais je mets les fonctions dans l ordre ABA', cela ne marche pas, les resultat de A sont faux

    si je fais AA'B, les resultat de A sont vrais.

    Comment ca se fait qu'une fonction peut en alterer une autre???

    Alors que monde VC++ ne trouve aucune redefinition...

  2. #2
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par défaut
    Si la fonction B ne modifie pas les resultats de A de maniere explicite, je vois plusieurs possibilites :

    * depassement de buffer et B ecrasse des donnees de A
    * certaines donnees de A sont locales et a la sortie ne sont plus attribue et donc B peut legitimement reutiliser la zone memoire

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 6
    Par défaut
    Juste au cas ou

    tu as bien mis le prototype de tes fonctions en debut de programme

  4. #4
    HRS
    HRS est déconnecté
    Membre chevronné
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    678
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 678
    Par défaut
    vous devriez indiquez la structure de votre programme, en particulier
    où est décrite la variable qui reçoit A(); exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    #include <stdio.h>
     
      int retourA;
    int A (void) {
      //
    }
    void B(void) {
      //
      retourA = A();
      //
    }
    void Aprim (int messsage) {
      printf ("%d\n",messsage);
    }
    int main (void) {
      B ();
      Aprim (retourA);
      return 0;
    }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 24
    Par défaut
    certaines donnees de A sont locales et a la sortie ne sont plus attribue et donc B peut legitimement reutiliser la zone memoire
    ca me semble etre le plus probable... donc la solution c'est de faire les declarations des variables de A hors fonction, juste aprés les include en tete de fichier non? Ou il faut que je rajoute autre chose?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 24
    Par défaut
    j'ai réussi a eliminer le probleme mais alors je n'ai aucune idée de ce que j'ai changé! J'ai réecris des petits trucs, 3 fois rien, dans la théorie, tout ce qui était fait est encore fait sauf que la ca marche...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Valeur d'une Zone de liste en fonction du choix fait sur une autre ZL
    Par Alexbreizhst dans le forum IHM
    Réponses: 4
    Dernier message: 23/02/2013, 07h08
  2. Appeler une fonction qui se trouve dans une autre fonction
    Par waxouse dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 11/05/2009, 16h28
  3. Appel à une fonction qui se trouve sur une autre page
    Par pierrot10 dans le forum Langage
    Réponses: 4
    Dernier message: 21/06/2007, 12h36
  4. fonction qui me fait une erreur
    Par griese dans le forum Langage
    Réponses: 12
    Dernier message: 28/07/2006, 09h46
  5. [VBA-E] Appel d'une fonction qui se trouve ds un autre wkbook
    Par moicwill dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/05/2006, 10h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo