Что касается условий и || оператор в C ++

0

Поэтому я не написал ниже код. Я наткнулся на это, и мне любопытно, как оценивается условие if.

if(a==b || c || d || e)

Я думаю, что он просто проверяет, не является ли a == b и остальная часть кода. Я прав? имеет ли смысл c, d, e какой-либо смысл? Другой вопрос, что это оценивает?

if(a == (b || c || d || e))

Я не очень опытен в C++

  • 0
    Остальной код не лишен смысла. Он оценивается, если a!=b
Теги:

2 ответа

3
Лучший ответ

Это не бессмысленно. Он проверяет, если a==b, если они не равны, тогда он проверяет, является ли c истинным или нет, если это не так, он проверяет, является ли d истинным или нет, если это не так, он проверяет, если e если true или нет, В целом выражение истинно, если любое из четырех подвыражений истинно.

  • 0
    c, d, просто переменные
  • 0
    @rainman_s Так? Переменные все еще могут быть проверены, чтобы увидеть, являются ли они истинными или нет.
Показать ещё 12 комментариев
0

Я бы не сказал, что остальные аргументы бессмысленны, потому что если (a! = B), то будут вычислены другие аргументы. Однако это правда, насколько я знаю, если (a == b) оценивается как истинный, то остальные аргументы не будут оцениваться, потому что это было бы необязательно.

Помните, хотя это случай для любых "OR" или "||" условный оператор, который возвращает true, если только один аргумент является истинным. Поэтому любое условное выражение, использующее "OR", будет оцениваться как истинный, если первый аргумент истинен, без необходимости оценивать оставшиеся аргументы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню