1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include <stdio.h> #include <stdbool.h> void f0(){printf("do f0\n");} void f1(){printf("do f1\n");} void f2(){printf("do f2\n");} void f3(){printf("do f3\n");} void f4(){printf("do f4\n");} void f5(){printf("do f5\n");} void f6(){printf("do f6\n");} void f7(){printf("do f7\n");} typedef void (*pfn)(void); void foo(bool a,bool b,bool c) { static pfn afns[]={&f0,&f1,&f2,&f3,&f4,&f5,&f6,&f7}; afns[(c | b << 1 | a << 2)](); } int main() { int a,b,c; for (a=0; a<=1; a++) for (b=0; b<=1; b++) for (c=0; c<=1; c++) { printf("%d%d%d:",a,b,c); foo(a,b,c); } // a=313; b=0; c=13; foo(a,b,c); return 0; } |
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRib29sLmg+Cgp2b2lkIGYwKCl7cHJpbnRmKCJkbyBmMFxuIik7fQp2b2lkIGYxKCl7cHJpbnRmKCJkbyBmMVxuIik7fQp2b2lkIGYyKCl7cHJpbnRmKCJkbyBmMlxuIik7fQp2b2lkIGYzKCl7cHJpbnRmKCJkbyBmM1xuIik7fQp2b2lkIGY0KCl7cHJpbnRmKCJkbyBmNFxuIik7fQp2b2lkIGY1KCl7cHJpbnRmKCJkbyBmNVxuIik7fQp2b2lkIGY2KCl7cHJpbnRmKCJkbyBmNlxuIik7fQp2b2lkIGY3KCl7cHJpbnRmKCJkbyBmN1xuIik7fQp0eXBlZGVmIHZvaWQgKCpwZm4pKHZvaWQpOwoKCnZvaWQgZm9vKGJvb2wgYSxib29sIGIsYm9vbCBjKQp7CiAgICBzdGF0aWMgcGZuIGFmbnNbXT17JmYwLCZmMSwmZjIsJmYzLCZmNCwmZjUsJmY2LCZmN307CiAgICBhZm5zWyhjIHwgYiA8PCAxIHwgYSA8PCAyKV0oKTsKfQoKaW50IG1haW4oKQp7CiAgICBpbnQgYSxiLGM7CiAgICBmb3IgKGE9MDsgYTw9MTsgYSsrKQogICAgICAgIGZvciAoYj0wOyBiPD0xOyBiKyspCiAgICAgICAgICAgIGZvciAoYz0wOyBjPD0xOyBjKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHByaW50ZigiJWQlZCVkOiIsYSxiLGMpOyAgICAKICAgICAgICAgICAgICAgIGZvbyhhLGIsYyk7ICAgIAogICAgICAgICAgICB9CiAgICAvLyAgICAgICAgCiAgICBhPTMxMzsgCiAgICBiPTA7CiAgICBjPTEzOyAgICAgICAgIAogICAgZm9vKGEsYixjKTsgICAgICAgICAKICAgIAogICByZXR1cm4gMDsKfQo=
-
upload with new input
-
result: Success time: 0.01s memory: 1720 kB returned value: 0
000:do f0 001:do f1 010:do f2 011:do f3 100:do f4 101:do f5 110:do f6 111:do f7 do f5


