Appel d'une fonction

Fermé
tenohthree Messages postés 50 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 1 janvier 2010 - 21 nov. 2009 à 16:46
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 - 22 nov. 2009 à 11:54
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.

3 réponses

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
tenohthree Messages postés 50 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 1 janvier 2010
21 nov. 2009 à 18:06
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
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
22 nov. 2009 à 10:27
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
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148 > loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017
22 nov. 2009 à 11:54
On peut faire plus simple:
int saisie(int a)
{
  return (a == -1 ? 0 : a);
}
Et toc ;-)
0
j'ai pas bien compris ta question
0