#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int mult(int a, int b) {
return a * b;
}
typedef int (*MyFunc)(int, int);
void callFunc(MyFunc f,int x,int y) {
printf("Calling f = %d\n",f
(x
,y
)); }
int main() {
callFunc(add, 2, 3);
callFunc(mult, 10, 2);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgYWRkKGludCBhLCBpbnQgYikgewoJcmV0dXJuIGEgKyBiOwp9CgppbnQgbXVsdChpbnQgYSwgaW50IGIpIHsKCXJldHVybiBhICogYjsKfQoKdHlwZWRlZiBpbnQgKCpNeUZ1bmMpKGludCwgaW50KTsKCnZvaWQgY2FsbEZ1bmMoTXlGdW5jIGYsaW50IHgsaW50IHkpIHsKCXByaW50ZigiQ2FsbGluZyBmID0gJWRcbiIsZih4LHkpKTsKfQoKaW50IG1haW4oKSB7CgljYWxsRnVuYyhhZGQsIDIsIDMpOwoJY2FsbEZ1bmMobXVsdCwgMTAsIDIpOwoJcmV0dXJuIDA7Cn0=