#include <stdio.h>
void f1(void) {
puts("f1");
}
void f2(void) {
puts("f2");
}
void f3(void) {
puts("f3");
}
void general(void) {
puts("general");
}
void control(int x) {
void (*p)(void);
if (x == 1)
p = f1;
else if (x == 2)
p = f2;
else if (x == 3)
p = f3;
else
p = general;
p();
}
int main(void)
{
for (;;) {
int x;
printf("Enter a number (0 to exit): ");
scanf("%d", &x);
if (x == 0)
break;
control(x);
}
return 0;
}
/*
run:
Enter a number (0 to exit): 1
f1
Enter a number (0 to exit): 2
f2
Enter a number (0 to exit): 3
f3
Enter a number (0 to exit): 4
general
Enter a number (0 to exit): 15
general
Enter a number (0 to exit): 0
*/