#include <stdio.h>
#include <stdlib.h>
#include <time.h>
typedef int (*fx)(int, int);
int one(int a, int b) { return a + b + 1; }
int two(int a, int b) { return a + b + 2; }
int three(int a, int b) { return a + b + 3; }
int four(int a, int b) { return a + b + 4; }
int main(void) {
fx arfx[4] = {one, two, three, four};
for (int k = 0; k < 10; k++) {
int n
= rand() % 4; // 0, 1, 2, or 3 int val = arfx[n](1, -1); // call one of functions in arfx
printf("result is %d.\n", val
); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHRpbWUuaD4KCnR5cGVkZWYgaW50ICgqZngpKGludCwgaW50KTsKaW50IG9uZShpbnQgYSwgaW50IGIpIHsgcmV0dXJuIGEgKyBiICsgMTsgfQppbnQgdHdvKGludCBhLCBpbnQgYikgeyByZXR1cm4gYSArIGIgKyAyOyB9CmludCB0aHJlZShpbnQgYSwgaW50IGIpIHsgcmV0dXJuIGEgKyBiICsgMzsgfQppbnQgZm91cihpbnQgYSwgaW50IGIpIHsgcmV0dXJuIGEgKyBiICsgNDsgfQoKaW50IG1haW4odm9pZCkgewogICAgZnggYXJmeFs0XSA9IHtvbmUsIHR3bywgdGhyZWUsIGZvdXJ9OwogICAgc3JhbmQodGltZSgwKSk7CiAgICBmb3IgKGludCBrID0gMDsgayA8IDEwOyBrKyspIHsKICAgICAgICBpbnQgbiA9IHJhbmQoKSAlIDQ7IC8vIDAsIDEsIDIsIG9yIDMKICAgICAgICBpbnQgdmFsID0gYXJmeFtuXSgxLCAtMSk7IC8vIGNhbGwgb25lIG9mIGZ1bmN0aW9ucyBpbiBhcmZ4CiAgICAgICAgcHJpbnRmKCJyZXN1bHQgaXMgJWQuXG4iLCB2YWwpOwogICAgfQogICAgcmV0dXJuIDA7Cn0=