Search code examples
ccharcomparisonstrcmp

Compare two chars


Why won't this work? I want to compare two chars.

   //Login.
    char myName = 'name';

    //Login Temp.
    char nameTemp[10];

again:

    printf("Name?\t");
    scanf("%c", *nameTemp);



    if (strcmp(myName, nameTemp) == 0) {
        printf("Hej");
    }

    else { printf("Wrong. Try again"); goto again; }

Solution

  • Change:

    char myName = 'name';
    

    to

    const char *myName = "name";
    

    You should have pointer to array of chars here instead of one char. Also change

    scanf("%c", *nameTemp);
    

    to

    scanf("%s", nameTemp);
    

    You should scan array of chars instead of one char.

    And goto in this kind of program? Why in the world you didn't use plain while loop?