Appel d'une fonction

tenohthree Messages postés 55 Statut Membre -  
loupius Messages postés 789 Statut Membre -
Bonjour,
comment je peut saisir un entier different de -1 non nul et de retourner cet entier. la fonction doit retourner 0 si l'entier saisie est -1.comment je peut afficher une liste qui se termine par -1.
voila mon programme qui toujours ne marche pas. veuiller corriger les erreurs svp.
#include<stdio.h>

/********saisir************/
int saisie(int a)
{
if(a==-1)
return 0;
else
if(a!=0)
return(a);

}
void main()
{
int i,a,p;
for(i=1;i!=-1;i++)
{printf("a=");
scanf("%d",&a);
printf("\n");}
p=saisie(a);

}

merci d'avance pour votre aide.
Configuration: Windows XP
Firefox 3.5.5

3 réponses

  1. nobie-cs
     
    ne jamais fait plus d'une seul return dans une fonction c'est mocheeeee

    j'ai pas bien compris l'exercice mais
    /********saisir************/
    int saisie(int a)
    {
    int nb;
    if(a==-1)
    nb=0;
    else
    nb=a;
    return nb;
    }

    je croit sa va marche

    NoBiE
    0
  2. tenohthree Messages postés 55 Statut Membre
     
    j'ai corrigé le programme et la compilation a terminé avec succes mais le je peut pas faire "run" pk?

    voila le petit programme :

    #include<stdio.h>
    
    /********saisir************/
    int saisie(int a)
    {
    int nb;
    if(a==-1)
    nb=0;
    else
    nb=a;
    return nb;
    }
    
     void main()
    {
     int i,a,p;
     do
     {printf("a=");
     scanf("%d",&a);
     printf("\n");
     }while(a!=-1);
    
     p=saisie(a);
     printf("%d",&p);
    }
    0
    1. loupius Messages postés 789 Statut Membre 148
       
      Il y a un tout petit peu plus simple:
      int saisie(int a)
      {
        if (a == -1)
          a = 0;
        return a;
      }
      Ce qui en fait une fonction si simple qu'on peut se poser la question: ne serait-il pas plus simple de faire le test directement au lieu d'appeler la fonction ?
      Bonne continuation.
      0
      1. loupius Messages postés 789 Statut Membre 148 > loupius Messages postés 789 Statut Membre
         
        On peut faire plus simple:
        int saisie(int a)
        {
          return (a == -1 ? 0 : a);
        }
        Et toc ;-)
        0
  3. nobie-cs
     
    j'ai pas bien compris ta question
    0