Навеяно ошибкой новичка в Си:
if (counter =! 0 ) ...Код компилируется и запускается, но делает не то: не проверяет неравенство с нулем, а присваивает "не ноль" (правильно: "!=").
Из подобных ошибок:
if (counter = 0 ) ...этот код также компилируется, но не проверяет на равенство, а присваивает ноль (правильно: "==").
Саму возможность подобных ошибок
(
Read more... )
Comments 5
if(0 == counter)
..
Я привык -- так и на яве так и пишу if(null == some_object)
Reply
int x, y;
if (x=y) ...
Это только с константами пройдет, а в общем случае - нет.
Так что лично я не вижу смысла уродовать код неестественным порядком сравнения.
Нас всё же обычно интересует, равно ли нечто нулю, а не равен ли нуль чему-нибудь еще ;)
Reply
Кстати, про 0. Я видел и такое вот сравнение
int c;
...
c = 0;
if(!!c)
{
...
Много вобщем всякого, много. Разного.
Reply
#define i j
или
#define while if
Reply
Reply
Leave a comment