нельзя написать так #define (a==b)? (*p++ = 5):(*p++ = 1;*p++ = 2)
ругается на второй оператор справа (*p++ = 2)