﻿# V637\. Use of two opposite conditions\. The second condition is always false\.

Анализатор обнаружил возможную логическую ошибку в программе\. Ошибка заключается в том, что два условных оператора, идущих последовательно, содержат взаимоисключающие условия\.

Примеры взаимоисключающих условий:

* 'A \=\= B' и 'A \!\= B';
* 'B < C' и 'B \> C';
* 'X \=\= Y' и 'X < Y';
* и так далее\.

Как правило, такая ошибка возникает вследствие опечатки или неудачного рефакторинга\. В результате логика выполнения программы нарушается\.

Рассмотрим пример некорректного кода:

```cpp
if (A == B)
  if (B != A)
    B = 5;
```

В данном случае высказывание "B \= 5;" никогда не будет выполнено\. Скорее всего, в первом или втором условиях используется некорректная переменная\. Следует посмотреть логику выполнения программы\.

Корректный вариант кода:

```cpp
if (A == B)
  if (B != C)
    B = 5;
```