Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 268

 
borilunad:

Спасибо! Я просто не знал, что можно таким образом сравнивать! Тут n количество позиций, а N лимит их количества! Сейчас взгляну Доку, освежу голову!

Не нашёл в Доке этого случая. Сколько ещё неведанного-неизведанного нас ожидает!


Это из стандарта С. В С можно вообще много чего сравнивать - слабо типизированный язык, но вся ответственность на программисте. МКЛ по сути - это урезанный С, на нем же и написан (точнее MS VS 6.0 - это C\C++), возможно уже проект перенесен на более современную платформу. Не зря же разработчики по всем малоосвещенным случаям еще на заре развития МКЛ4 предлагали обращаться к стандарту С.
 
borilunad:

Не нашёл в Доке этого случая. Сколько ещё неведанного-неизведанного нас ожидает!

По умолчанию слева направо читайте выражение.
 
VladislavVG:

Почему ошибка ? С точки зрения компилятора оба варианта правильны, вот только обозначают разное и это на совести программиста ;).

Не вводите в заблуждение. Результат булевой операции будет 0 или 1 (предполагаю), посему выражения неэквивалентны вне зависимости от порядка обсчета операторов, т.к. второе сравнение будет с булевым результатом.
 
TheXpert:
Не вводите в заблуждение. Результат булевой операции будет 0 или 1 (предполагаю), посему выражения неэквивалентны вне зависимости от порядка обсчета операторов, т.к. второе сравнение будет с булевым результатом.

А мы уже говорим о здравом смысле?
 
TheXpert:
Не вводите в заблуждение. Результат булевой операции будет 0 или 1 (предполагаю), посему выражения неэквивалентны вне зависимости от порядка обсчета операторов, т.к. второе сравнение будет с булевым результатом.

Совершенно верно и эта 0/1 будет сравниваться с N. И где я ввел в заблуждение ? И о какой эквивалентности выражений Вы говорите ?
 
VladislavVG:

Совершенно верно и эта 0/1 будет сравниваться с N. И где я ввел в заблуждение ? И о какой эквивалентности выражений Вы говорите ?

Это было не Вам адресовано, ихенько.
 
tara:

Это было не Вам адресовано, ихенько.


Ну так в этом посте TheXpert цитата из моего поста. Следовательно можно понять, что это есть ответ на мое высказывание.

Я об эквивалентности выражений не говорил. Говорил о правильности синтаксиса с точки зрения компилятора в обоих выражениях - там даже написано, что обозначают эти выражения разное.

Вот думаю, может у меня проблемы с русским языком: все-таки живу в Украине и последние веяния в русском языке вполне мог пропустить. Потому и пытаюсь уточнить: из каких таких моих слов можно было сделать вывод об эквивалентности выражений. Может действительно ввел в заблуждение - тогда надо уточнить мои высказывания, чтоб не было возможности двояких толкований.
 
Zhunko:
По умолчанию слева направо читайте выражение.
Это выражение у меня получилось случайно после правки кода, а сейчас оставил просто if(n < N) и так проще и без лишних заморочек. А когда нужно будет что-нибудь такое, тогда буду знать, что и так можно! Спасибо вам, разъяснили! А до С как-то всё не доберусь, хотя давно у меня есть огромный том на тысяче с лишним страницах С++! Всё никак, ХВОРЕХ всё время съедает!
 
VladislavVG:
И где я ввел в заблуждение?
Ок, нигде. Но о таких вещах лучше говорить явно. Иначе некоторые не поймут как и я.
 
Дык, что там насчет новичков, господа?
Причина обращения: