我是学生(新手)和我所学到的一切,我只是在这里申请,但我们的导师没有清楚地解释字符串。所以我遇到了这个代码的问题它不接受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();
}
答案 0 :(得分:0)
我找不到它,但这显然是重复的,与turbo C ++编译器无关。在C中,您不能以这种方式比较字符串。你需要做if(strcmp(user,“user”)== 0)(strcmp如果两个字符串相等则返回0,否则返回正数或负数以指示哪个字母顺序为“first”)
答案 1 :(得分:0)
简而言之:您无法使用operator ==。
比较 char []您应该用strcmp
替换==