void chaxun()//查询学生信息
{
int i, item, f;
int s1;
char s2[20];
printf("**********************************\n");
printf(" 1 按学号查询 \n");
printf(" 2 按姓名查询 \n");
printf(" 3 退出本菜单 *\n");
printf("***********************************\n");
while (1)
{
printf("请选择查询方式:");
scanf("%d", &item);
f = 0;
switch (item)
{
case 1:
printf("请输入要查询的学生的学号:\n");
scanf("%d", &s1);
for (i = 0; i<N; i++)
{
if(stu[i].id==s1)
{
printf("学生学号\t学生姓名\t年龄\t性别\t班级\t宿舍号码\t家庭住址\t电话号码\tQQ\n");
printf("——————————————————————————————————————\n");
printf("%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",stu[i].id,stu[i].name,stu[i].age,stu[i].sex,stu[i].banji,stu[i].sushe,
stu[i].add,stu[i].tel,stu[i].qq);
}
break;
}
break;
case 2:
printf("请输入要查询的学生的姓名:\n");
scanf("%s", s2);
for (i = 0; i<N; i++)
{
if (stu[i].name==s2)
{
printf("学生学号\t学生姓名\t年龄\t性别\t班级\t宿舍号码\t家庭住址\t电话号码\tQQ\n");
printf("——————————————————————————————————————\n");
printf("%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",stu[i].id,stu[i].name,stu[i].age,stu[i].sex,stu[i].banji,stu[i].sushe,
stu[i].add,stu[i].tel,stu[i].qq);
}
else
printf("该学生姓名不存在!\n");
break;
}
break;
case 3:return;break;
default:printf("输入错误,请重新输入:");
scanf("%d",&item);
}
}
}
各位大佬,请问这个代码为什么不能查询信息?
改成这样:if (strcmp(stu[i].name,s2)==1)
字符串比较用strcmp()
if (strcmp(stu[i].name,s2))
if (stu[i].name==s2)
改为
if (strcmp(stu[i].name==s2) == 0)