Die Verwendung der Gleichheits-operator == für den Vergleich von zwei strings auf Gleichheit in C

int main (int argc, **argv)
{
       if (argv[1] == "-hello")
            printf("True\n");
       else
            printf("False\n");
}
# ./myProg -Hallo 
False 

Warum? Ich merke strcmp(argv[1], "-hello") == 0 gibt true zurück,... aber warum kann ich nicht mit dem Gleichheits-operator vergleicht zwei C-strings?

  • Da Sie darauf Bestand, die Frage ist eine C-Frage, ich habe die Stelle der C++ - code mit C-code. Wenn du unbedingt auf std::cout ich bestehen Sie auf einen C++ - tag.
  • Sicherlich diese Frage ist ein exaktes Duplikat.
Schreibe einen Kommentar