当我进入srtike"访问被授予"没有出现

时间:2015-09-01 12:12:24

标签: c++

#include<iostream.h>
#include<string.h>

void main() {

    char a[20];

    cout<<"Please enter the required password"<<endl;

    cin>>a;

    if (a=="srtike"){

        cout<<"Access granted!"<<endl;

    }

    gets(a);

}

1 个答案:

答案 0 :(得分:1)

您无法将数组与字符串文字进行比较,将会发生的情况是数组衰减到指向数组中第一个字符的指针,并将该指针与字符串文字的指针进行比较,该指针始终为false

相反,如果您想使用C字符串,则应使用strcmp来比较字符串:

if (strcmp(a, "srtike") == 0)
{
    // the contents of a equals "srtike"
    ...
}

否则,我建议您查看std::string,这样可以进行比较,因为operator==已超载。