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> #define FOR(init, condition, increment, body) \ { \ init; \ while (condition) { \ int entered = 0; \ int finished = 0; \ do { \ if (finished) { \ goto more; \ } \ if (entered) { \ goto more; \ } \ entered = 1; \ body \ finished = 1; \ } while (1); \ if (!finished) { \ goto out; \ } \ more: \ increment; \ } \ out:; \ } int main () { FOR(int i = 0, i < 10, i++, { if (i == 4) continue; if (i == 6) break; printf("%d\n", i); }) return 0; } |
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIEZPUihpbml0LCBjb25kaXRpb24sIGluY3JlbWVudCwgYm9keSkgXAp7IFwKICAgIGluaXQ7IFwKICAgIHdoaWxlIChjb25kaXRpb24pIHsgXAogICAgICAgIGludCBlbnRlcmVkID0gMDsgXAogICAgICAgIGludCBmaW5pc2hlZCA9IDA7IFwKICAgICAgICBkbyB7IFwKICAgICAgICAgICAgaWYgKGZpbmlzaGVkKSB7IFwKICAgICAgICAgICAgICAgIGdvdG8gbW9yZTsgXAogICAgICAgICAgICB9IFwKICAgICAgICAgICAgaWYgKGVudGVyZWQpIHsgXAogICAgICAgICAgICAgICAgZ290byBtb3JlOyBcCiAgICAgICAgICAgIH0gXAogICAgICAgICAgICBlbnRlcmVkID0gMTsgXAogICAgICAgICAgICBib2R5IFwKICAgICAgICAgICAgZmluaXNoZWQgPSAxOyBcCiAgICAgICAgfSB3aGlsZSAoMSk7IFwKICAgICAgICBpZiAoIWZpbmlzaGVkKSB7IFwKICAgICAgICAgICAgZ290byBvdXQ7IFwKICAgICAgICB9IFwKICAgIG1vcmU6IFwKICAgICAgICBpbmNyZW1lbnQ7IFwKICAgIH0gXApvdXQ6OyBcCn0KCmludCBtYWluICgpCnsKICAgIEZPUihpbnQgaSA9IDAsIGkgPCAxMCwgaSsrLCB7CiAgICAgICAgaWYgKGkgPT0gNCkgY29udGludWU7CiAgICAgICAgaWYgKGkgPT0gNikgYnJlYWs7CiAgICAgICAgcHJpbnRmKCIlZFxuIiwgaSk7CiAgICB9KQogICAgCiAgICByZXR1cm4gMDsKfQo=
-
upload with new input
-
result: Success time: 0.01s memory: 1720 kB returned value: 0
0 1 2 3 5


