Единственная разница связана с тем, что вместо написания макроса, как вы, вам нужно заключить весь макрос в дополнительный набор символов:
#define ADD(a,b) ((a)+(b))
Если вы не сделаетеэто исправление, тогда
ADD(3,4) * 5
равняется 23, но
(3 + 4) * 5
равняется 34.
Хорошо, что вы правильно заключили каждый параметр макроса в свои собственные парены,но вам также нужно заключить весь макрос в скобки, чтобы избежать ошибок, связанных с приоритетом.