这是我的代码
char un [50] = "Username";
char pw [50]= "Password";
char unapp[50];
char pwapp[50];
cout << "Username: ";
cin >> unapp;
system("CLS");
cout << "Username: ";
cout << unapp <<endl;
cout << "Password: ";
cin >> pwapp;
system ("pause");
if (unapp == un)
{
cout <<"Gz" <<endl;
system ("pause");
}
cout << unapp <<endl;
cout << un <<endl;
system ("pause");
return 0;
出于某种原因,它不会运行if
语句,即使之后我打印了unapp
和un
以查看它们是否相同且确定它们是否相同依然没有??但是,如果我使用int
s,它会起作用。
答案 0 :(得分:2)
答案 1 :(得分:0)
由于数组衰减为指针,你所做的是比较指针,而不是数组的内容。
您实际要做的是比较这些指针所指向的缓冲区(或字符串)。为了做到这一点,只需使用strcmp
作为Jerome L解释,或者只是实现一个遍历数组所有元素的循环,然后进行比较,直到找到'\ 0'终结符。