I need some help regarding macro expansion in "C". I'm attempting to have a macro expand into 2 statements however I get into trouble with a mismatched ";" when expanding into if/else statements. I would like to have it compile correctly in both the if/else statements below. Any ideas would be appreciated. Thanks, Ken #define PIN_LED 4 #define PIN_BUZZER 5 //macro with problem #define myproblem(pin) j += pin; i += pin void main() { int i = 0; int j = 0; if ( i == j) myproblem(PIN_BUZZER); //bad - compiler sees 2 ; - else not matched with if else myproblem(PIN_LED); if ( i == j) { myproblem(PIN_BUZZER); //good - compiler sees 2 ; - but within {} } else { myproblem(PIN_LED); } } -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.