Блог пользователя damn_T_T

Автор damn_T_T, история, 5 лет назад, По-английски

Here line 12 and 14 should output the same value (expected output 1)

But why when I call range(i,mn,mx) it outputs 0?

  • Проголосовать: нравится
  • -14
  • Проголосовать: не нравится

»
5 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

you should write

#define range(i,mn,mx) (((i) >= mn) && ((i) <= mx)?1:0)

instead of

#define range(i,mn,mx) ((i >= mn) && (i <= mx)?1:0)
  • »
    »
    5 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    why ?

    • »
      »
      »
      5 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

      If you write #define range(i,mn,mx) ((i >= mn) && (i <= mx)?1:0) then range(x||y,0,1) will be like ((x||y >= mn) && (x||y <= mx)?1:0) => ((x||(y >= mn)) && (x||(y <= mx))?1:0)