int findname()
{
char findn[20];
printf("请输入要查询的名字:");
scanf("%s",&findn[20]);
for (i = 0; i < max; i++)
{
printf("00");
if (strcmp(stu[i].name, findn) == 0)
{
printf("********************************************************************************************************************\n");
printf("学号%s 姓名%s 性别%s 年龄%d 班级%s 高数成绩%d 大英成绩%d 专业课成绩%d 手机号%s 总成绩%d\n",
stu[i].xuehao, stu[i].name, stu[i].sex, stu[i].age, stu[i].class, stu[i].mathgrades, stu[i].englishgrades, stu[i].Majorcourse, stu[i].phonenum, stu[i].sum);
printf("\n");
getch();
return i;
}
}
return -1;
}
findn里面变成了 烫 怎么办呀
scanf函数的使用有问题,里面的& findn[20]修改为& findn[0]或者findn
数组要在函数外定义,或初始化,不然会有随机数据在里面
第6行: scanf("%s",&findn[20]); 应修改为: scanf("%s",findn);
char findn[20];
memset(findn,0x00,sizeof(findn));//初始化
printf("请输入要查询的名字:");
scanf("%s",&findn);//输入地址从0开始
烫烫烫 一般是 编码问题 或者未初始化内存的乱码问题
char findn[20] = {0}; // 可以养成习惯初始化
printf("请输入要查询的名字:");
scanf("%s", findn); // 去掉 & 和 [20]