返回指针
程序代码: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 编辑 ]









