# V633. The '!=' operator should probably be used here. Consider inspecting the expression.

Анализатор обнаружил потенциальную ошибку. Возможно вместо оператора '=!' следует написать '!=' или '==!'. Подобные ошибки чаще всего возникают из-за опечатки.

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

    int A, B;
    ...
    if (A =! B)
    {
      ...
    }

С большой вероятностью здесь должна быть проверка, что переменная 'A' не равна 'B'. Если это так, то корректный вариант кода должен выглядеть следующим образом:

    if (A != B)
    {
      ...
    }

Анализатор учитывает форматирование в выражении. Поэтому если действительно требуется выполнить присваивание, а не сравнение, необходимо указать, используя скобки или пробелы. Следующие примеры кода считаются анализатором корректными:

    if (A = !B)
      ...
    if (A=(!B))
      ...

Данная диагностика классифицируется как:

CWE-480 CERT-EXP45-C