You inspired me this joyful rewrite:
#define _(e) { e;};
#define r(e) _(return e)
#define I(b, e) _(if (b) r(e));
#define W(e) _(while (1) _(e));
int main(int c, char **v) {
_(I(c != 2, -1) _(c = 0) W(I(!v[1][c++], v[1][c - 2] & 1)))
}