【发布时间】:2021-11-30 12:12:29
【问题描述】:
我用 c 语言编写了下面的代码,但问题是 (if) 总是给我错误
char DB[][50]={"ahmed alla","Shady Ibrahim","Sara Sedky","Mohamed Ezz"};
char name[50];
fgets(name,50,stdin);
int flag=1;
for(int i=0;i<4;i++)
{
if(name==DB[i])
{
flag=0;
printf("welcome %s \n",name);
}
}
if(flag)
{
printf("sorry your name is not in the DB!");
}
它总是打印“抱歉你的名字不在数据库中!”不管叫什么
【问题讨论】:
-
我认为你应该使用 strcmp 而不是 ==。并且 fgets 总是在输入的字符串之后添加一个新行。
-
if(name==DB[i])-->if (strcmp(name, DB[i]) == 0)
标签: arrays c string if-statement