#include <stdio.h>
int add(int x, int y) { return x + y; }
int sub(int x, int y) { return x - y; }
int main()
{
int (*func_ptr)(int, int);
func_ptr = add;
printf("%d\n", func_ptr
(10, 20));
func_ptr = sub;
printf("%d\n", func_ptr
(10, 20));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgYWRkKGludCB4LCBpbnQgeSkgeyByZXR1cm4geCArIHk7IH0KaW50IHN1YihpbnQgeCwgaW50IHkpIHsgcmV0dXJuIHggLSB5OyB9CgppbnQgbWFpbigpCnsKICAgIGludCAoKmZ1bmNfcHRyKShpbnQsIGludCk7CgogICAgZnVuY19wdHIgPSBhZGQ7CiAgICBwcmludGYoIiVkXG4iLCBmdW5jX3B0cigxMCwgMjApKTsKCiAgICBmdW5jX3B0ciA9IHN1YjsKICAgIHByaW50ZigiJWRcbiIsIGZ1bmNfcHRyKDEwLCAyMCkpOwogICAgCiAgICByZXR1cm4gMDsKfQo=