Цитата(Палыч @ Jan 22 2009, 12:51)

P.S. Еще бывает, что выражение в дефайне не берут в скобки - тогда получаются чудеса (например, если выражение типа A + B ). Очень желательно записывать так:
#define CONST2 (выражение)
Палыч, Вы монстр! Вы точно поймали суть, хотя вопрос я изначально поставил не корректно, не указав, что в дефайне стоит выражение, а не число.
Спасибо за правильный ответ!
Я целый день тупил с этим, а все дело оказалось просто в скобках. А я-то думал, что define на этапе компиляции вычисляется, а потом подставляется в выражение. А оказалось, что он сначала подставляеся в выражение, затем расставляются приоритеты операций, и потом только вычисляется. Без скобок приоритеты-то неверно расставлялись... :-)
Спасибо. Вопрос снят!