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 :

Soucis inattendu programmation


Sujet :

C

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Language C
    Inscrit en
    Mars 2022
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burundi

    Informations professionnelles :
    Activité : Language C

    Informations forums :
    Inscription : Mars 2022
    Messages : 1
    Par défaut Soucis inattendu programmation
    Bonjour, J'ai fait un programme qui exécute le triple d'un nombre mais j'ai corrige même sa ne change pas

  2. #2
    Membre émérite
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 381
    Par défaut
    Bonjour,

    Difficile de répondre sans le code source.

  3. #3
    Membre Expert Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 769
    Par défaut
    Hello,

    Tu appelles ta fonction, style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void triple(int n) {
        n*=3;
    }
     
    int main(void) {
         int n=8;
        triple(n);
        printf("n=%d",n);
     
        return(0);
    }
    Mais voilà.... en C, les arguments sont passés par valeur. Tu modifier n autant que tu veux dans la fonction triple, le n du main() ne sera pas impacté. Deux solutions pour modifier le n du main():
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    #include <stdio.h>
     
    int triple(int n) {
    	return(n*3);
    }
     
     
    int main(void) {
    	int n=8;
    	n=triple(n);
    	printf("n=%d",n);
     
     
    	return(0);
    }
     
     
    // ou
     
     
    void triple(int *n) {
    	*n*=3;
    }
     
     
    int main(void) {
    	int n=8;
    	triple(&n);
    	printf("n=%d",n);
     
     
    	return(0);
    }
    Ma boule de cristal a-t-elle bien fonctionné ?

Discussions similaires

  1. petit souci de programmation sur c !
    Par devilwalid dans le forum Débuter
    Réponses: 0
    Dernier message: 08/11/2010, 20h00
  2. Petit soucis de programmation
    Par gromain dans le forum Débuter avec Java
    Réponses: 30
    Dernier message: 02/12/2009, 22h48
  3. petit soucis de programmation
    Par lila1 dans le forum C++
    Réponses: 12
    Dernier message: 16/10/2008, 18h36
  4. petit programme en java = gros souci de programmation
    Par axelandre dans le forum Langage
    Réponses: 1
    Dernier message: 14/11/2007, 08h11

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