> ! for (ap = a->elms, bp = b->elms, i = 0; i < a->size; i++) > ! if ((*ap++ | *bp++) != *bp) > ! return 0; Uh, I didn't notice any sequence points... you could just put the increments up beside the `i++'. Sure, but it's usually more idiomatic to do it at the reference like that.