Другая возможность может быть от побочных эффектов. Большинство макросов min / max содержат параметры несколько раз и могут не выполнять то, что вы ожидаете Ошибки и предупреждения также могут быть сгенерированы.
max(a,i++) expands as ((a) > (i++) ? (a) : (i++))
afterwards i is either plus 1 or plus 2
() В расширении, чтобы избежать проблем, если вы вызываете его с формулами. Попробуйте расширить max (a, b + c)