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

时间:2015-09-15 13:59:44

标签: turbo-c++

我是学生(新手)和我所学到的一切,我只是在这里申请,但我们的导师没有清楚地解释字符串。所以我遇到了这个代码的问题它不接受if else if和else on 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();

}

2 个答案:

答案 0 :(得分:0)

我找不到它,但这显然是重复的,与turbo C ++编译器无关。在C中,您不能以这种方式比较字符串。你需要做if(strcmp(user,“user”)== 0)(strcmp如果两个字符串相等则返回0,否则返回正数或负数以指示哪个字母顺序为“first”)

答案 1 :(得分:0)

简而言之:您无法使用operator ==。

比较 char []

您应该用strcmp

替换==