Герберт Шильдт говорит:
В некоторых ситуациях вместо функции-типа-макроса следует использовать реальную функцию, например: где размер кода должен быть сведен к минимуму или где аргумент не должен оцениваться более одного раза.
Что он подразумевает под "аргументом не следует оценивать более одного раза?"