Salut,
Exemple, on a deux nombres (3 et 5), si l'utilisateur rentre +, on fait l'addition, s'il rentre *, on fait la multiplication:
#include <stdio.h>
typedef int (*op)(int, int); // Type pointeur vers fonction qui prend deux entiers en paramètres et retourne un entier
int addition(int a, int b)
{
return a + b;
}
int multiplication(int a, int b)
{
return a * b;
}
//Tableau de pointeur de fonctions avec nos deux fonctions:
op tab_op[] = {
addition,
multiplication
};
int main()
{
int a = 3, b = 5;
char c = getchar();
switch (c) {
case '+':
printf("%d\n", tab_op[0](a, b));
break;
case '*':
printf("%d\n", tab_op[1](a, b));
break;
default:
printf("%c toi même!\n", c);
break;
}
return 0;
}
Le gâteau est un mensonge!