返回指针
程序代码:
void Chakan(struct stu *student) { int i,n; char id[20]; char StuName[20]; struct stu *temp=student; temp =(struct stu *)malloc(100); while (1) { printf("按学号查询请按1,按姓名查询请按2:"); scanf("%d", &n); if(n==1 || n==2) break; printf("输入的数字非法,请输入1或2\n\n"); } switch (n) { case 1: /*按学号进行查询*/ printf("请输入要查询的学号:"); scanf("%s", id); temp=ChaXunNum(student,id); break; case 2: /*按学生姓名进行查询*/ printf("请输入要查询的学生名字:"); scanf("%s", StuName); temp = ChaXunName(student, StuName); break; } if (temp != NULL) { printf("您查找的学生的信息为:\n\n"); PrintTitle(); /*打印学生信息表头*/ printf("\n"); Chaxun_person(temp); /*打印查到的学生的信息*/ printf("\n\n"); } else { printf("没有查到您要查找的学生的信息\n\n"); } } struct stu *ChaXunNum(struct stu *student, char id[]) { int index; for(index=0;index<MAX_NUM;index++) if(student[index].id==(int)id) return student; return 0; }
为什么编译器说返回指针错误,虽然能运行
还有这个if语句为什么都是空?进不去。。。我输入了信息依然查不到
程序代码:
if (temp != NULL) { printf("您查找的学生的信息为:\n\n"); PrintTitle(); /*打印学生信息表头*/ printf("\n"); Chaxun_person(temp); /*打印查到的学生的信息*/ printf("\n\n"); } else { printf("没有查到您要查找的学生的信息\n\n"); }
[ 本帖最后由 Timmmy 于 2011-12-23 15:00 编辑 ]