BlackStar's blog

By BlackStar, 11 years ago, In Russian

Всем привет. Собственно вопрос в следующем, почему вот это работает корректно:

#define M 5;
...
long long k = (2+2)%M;
...

И это работает корректно:

#define M 5;
...
long long k = (2%5+2%5)%5;
...

А вот это отказывается, просит скобку поставить:

#define M 5;
...
long long k = (2%M+2%M)%M;
...

Аналогичная проблема вот с этим:

#define M 5;
...
long long k = ((2)%M+(2)%M)%M;
...

Объясните, пожалуйста, с чем это связано? Что-то в этом defin'e или же проблема в другом? Заранее спасибо.

  • Vote: I like it
  • -6
  • Vote: I do not like it