Я попытался с помощью этого макроса:Macro неисправность результат операции
#define min(x,y) x<y? x:y
Он должен вернуть минимум, и это делает. Единственная проблема заключается в попытке использовать результат этого макроса в операции, он не работает.
Пример
x=min(3,4);
Здесь х будет, естественно, 3 в качестве значения, но при попытке это:
x= 23 + min(3,4);
результат все равно будет всегда 3 (результат макро), нет вопрос, какое число я добавляю к нему (23 был произвольным там). Могу ли я узнать, почему это происходит?
Когда я пробую ваш код, результат равен 4, а не 3. – Barmar
См. Http://ideone.com/alrhCf – Barmar
УРОК: не используйте макросы, где вы должны использовать функции –