# V731. The variable of char type is compared with pointer to string.

The analyzer has detected a comparison of a char variable with a pointer to a string. The reason why the variable is used that way is in using double quotes (") instead of single quotes (') by mistake.

Here's an example for this error pattern:

    char ch = 'd';
    ....
    if(ch == "\n")
    ....

The inattentive author of this code wanted to compare the 'ch' variable with a new string's character but used quotes of a wrong type. This resulted in the value of the 'ch' variable being compared to the "\n" string's address. Code like that can compile and execute well in C but usually makes no sense. The correct version of the code sample above should use single quotes instead of double ones:

    char ch = 'd';
    ....
    if(ch == '\n')
      ....

The same kind of mistake can be also made when initializing or assigning a value to a variable, causing this variable to store the least significant byte of the address of the string being assigned.

    char ch = "d";

The correct version of the code should use single quotes.

    char ch = 'd';

This diagnostic is classified as:

CWE-665