[c]fonction qui retourne le max

ivesso Messages postés 108 Statut Membre -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
je veux écrire une fonction qui retourne le max de 3 entiers, voila mon programme,mais ça marche pas

int max3(int,int,int);

int  main(void)
{
   int a,b,c,z;
   scanf("%d",&a);
   scanf("%d",&b);
   scanf("%d",&c);

   z = max3(a,b,c);

   printf("le max est %d",z);
   printf("\n");

   
   return 0;
}

int max3(int a,int b,int c)
{int z;
    if(a>b&&a>c)
       z=a;
    if(b>a&&b>c)
       z=b;
    if(c>a&&c>b)
       z=c;

    return z;
}



4 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,

    Qu'est-ce qui ne marche pas dans ton programme ?
    Pour moi il est correct.
    0
  2. ivesso Messages postés 108 Statut Membre
     
    quand j'exécute ya rien affiché .essai stp si ta dev ou turbo
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Ah je pense voir le problème.
      Rajoute : system("PAUSE"); juste avant ton return 0;
      Il te faudra ajouter lle header <stdlib.h>
      Cdlt,
      0
  3. ivesso Messages postés 108 Statut Membre
     
    c fait , mais sa change rien :(
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Bizarre car votre programme fonctionne bien.
      Sinon petite question de vérification :
      Lorsque vous exécutez votre programme, trois scanf vont s'exécuter. Mais comme à ce moment vous n'avez mis aucun printf rien ne s'affichera. Avant que votre programme puisse afficher le max via le printf, vous devez tapez trois nombres et valider par la touche "entrée" (mais rien ne sera affiché à l'écran pendant cette étape puisque vous ne l'avez pas demandé au compilateur). Est-ce bien de ce cas que vous parlez ou encore d'un autre ?
      0
  4. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    Algorithme plus simple :
    int max3(int a,int b,int c)
    {int z;
        if(a>b&&a>c)
           z=a;
        else if(b>c)
           z=b;
        else
           z=c;
    
        return z;
    }
    
    
    Sinon, comme fiddy, je ne voi pas de problèmes.
    lancer le programme dans une console peut être une bonne idée.
    0