salut à tous et à toutes ;



j'ai essayer avant d'hier d'écrire un programme qui me renvois l'une des deux fonctions SI l'une des 2 fonctions à été apellée par l'apellant .

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
int foo1 ( int *donnee1, int *donnee2)
 
{
/* Code  */ 
 
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
int foo2 ( int *val1 , int *val2 , int *val3)
 
{
/* Code  */ 
 
}

Le but du code est d'apeller l'une de ces deux fonctions avec condition .

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
 
 
 
int ma_fonction ( int param, int a,int b)
{
 
int resultat = 0;
 
 
switch ( param)
 
{
 
case  1 :
 
if (resultat == 1)   // si result == 1 On appelle la variable foo1
 
 return foo1 ( donnee1 , donnee2);
 
/* 
si la premiere condition est FAUSSE 
on appelle FOO2 */
 
else return foo2 ( val1 , val2 , val3);
 
 
break;
default:break;
 
}
Le probléme dans ce code c'est SAUF la premiére variable (foo1) qui est renvoyée pas la deuxiéme .
Pour renvoyée la deuxiéme variable foo2 , je dois la mettre en premier .


En langage C éxiste t'il une solution pour analyser 2 conditions et renvoyer celle qui est apeller par l'apellant .



Merci pour vos différents conseils .