Есть ли веская причина для того, чтобы всегда заключать определение в круглые скобки в C?

Очевидно, что бывают случаи, когда операторы #define должны иметь круглые скобки , например:

#define WIDTH 80+20

int a = WIDTH * 2; // expect a==200 but a==120

Поэтому я всегда заключаю в скобки, даже если это всего лишь одно число:

#define WIDTH (100)

Кто-то, плохо знакомый с C, спросил меня, почему я это делаю, поэтому я попытался найти крайний случай, когда отсутствие круглых скобок на одном номер #define вызывает проблемы, но я могу не думаю ни об одном.

Существует ли такой случай?

48
задан JL2210 17 April 2019 в 02:06
поделиться