Очевидно, что бывают случаи, когда операторы #define
должны иметь круглые скобки , например:
#define WIDTH 80+20
int a = WIDTH * 2; // expect a==200 but a==120
Поэтому я всегда заключаю в скобки, даже если это всего лишь одно число:
#define WIDTH (100)
Кто-то, плохо знакомый с C, спросил меня, почему я это делаю, поэтому я попытался найти крайний случай, когда отсутствие круглых скобок на одном номер #define
вызывает проблемы, но я могу не думаю ни об одном.
Существует ли такой случай?