PDA

Просмотр полной версии : Условие не пойму


locust19
04.03.2010, 02:32
Скажите пожалуйста почему 17ое и 1ое и все даты этого месяца в это условие входит? Я так понимаю запрос должен звучать с 4 по 13

(d.month==5 && 4<=d.date<=13)

wvxvw
04.03.2010, 03:19
Потому что операции выполняются слева направо, а вы как хотели?
d.date = 1;
4 <= d.date;
false;
int(false) <= 13;
true;
Кроме того, не пишите операторы которые принимают 2 операнда слитно. Вы так и себя и других путаете.

locust19
04.03.2010, 03:34
спасибо, значит писать так! 4<=d.date && 4<=d.date??

wvxvw
04.03.2010, 04:28
Зачем 2 раза одно и то же?
Имелось в виду, что операторы, которые выглядят так: Операнд1 оператор Операнд2 нужно писать раздельно, пример:
-i, i++, ~i, !i; // слитно
x + y, x !== y, x ^ y, x && y; // раздельно
Это не обязательно, но помогает читать, и вам же в первую очередь.

udaaff
04.03.2010, 05:10
спасибо, значит писать так! 4<=d.date && 4<=d.date??
d > 3 && d < 14