Turbo C++ 在使用 char 时忽略 if 和 else if 语句并跳转到 else

Turbo C++ ignoring if and else if statements and jumping to else when using a char

我是一名学生(新手),我所学的一切,我只是在这里申请,但我们的导师没有清楚地解释字符串。所以我对这段代码有疑问,它不接受 if else if 并跳转到 else。我正在使用 Turbo C++。我想知道这里有什么问题,因为我对这些完全是新手。提前谢谢你

#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>
void main()
{

clrscr();

char user[50],pass[50];

cout<< "Username: ";
gets(user);
cout<< "Password: ";
gets(pass);

if (user=="user" && pass=="pass"){
cout<< "ACCESS GRANTED";
}else if (user=="user"){
cout<< "Wrong Password";
}else if (pass=="pass"){
cout<< "Wrong Username";
}else
cout<< "Wrong Username and Password";

getch();

}

我找不到它,但这显然是重复的,与 turbo C++ 编译器无关。在 C 中,您不能那样比较字符串。你需要做 if (strcmp(user,"user") == 0) (strcmp returns 0 如果两个字符串相等,否则它 returns 一个正负来表示哪个是按字母顺序 "first")

简而言之:您不能使用运算符 == 来比较 char[]

您应该将 == 替换为 strcmp