#include <stdio.h>
int x;
int a() { return x++ + 1; }
int b() { return x++ + 2; }
int c() { return x++ + 3; }
int main()
{
int (* abc[])() = {&a, &b, &c};
int i = 0,
l = sizeof(abc)/sizeof(abc[0]);
for (; i < l; i++) {
printf("Give me a %d for %d!\n", (*abc
[i
])(), i
); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCB4OwppbnQgYSgpIHsgcmV0dXJuIHgrKyArIDE7IH0KaW50IGIoKSB7IHJldHVybiB4KysgKyAyOyB9CmludCBjKCkgeyByZXR1cm4geCsrICsgMzsgfQogCmludCBtYWluKCkgCnsKICBpbnQgKCogYWJjW10pKCkgPSB7JmEsICZiLCAmY307CiAgaW50IGkgPSAwLAogICAgICBsID0gc2l6ZW9mKGFiYykvc2l6ZW9mKGFiY1swXSk7CiAgZm9yICg7IGkgPCBsOyBpKyspIHsgCiAgICBwcmludGYoIkdpdmUgbWUgYSAlZCBmb3IgJWQhXG4iLCAoKmFiY1tpXSkoKSwgaSk7CiAgfQogIHJldHVybiAwOwp9