单链表问题,附带二进制文件读入读写的问题(带函数)!求教

沐魇 2014-04-11 06:34:22
小弟是初学者 编写一个学生成绩管理系统
但是当将链表读入读出之后 再输出链表就会出现一条乱码 包含屯屯屯屯= =我查了一下这个情况好像是没初始化?但是实在看不出来 求教 谢谢大家!
还有check函数貌似有问题 每次使用程序出错弹出 求解释

每次输入完要删除的学号信息就会出现
成绩.exe 中的 0x50dfde8f (msvcr100d.dll) 处有未经处理的异常: 0xC0000005: 写入位置 0xcccccccc 时发生访问冲突
求大神解释
void Delete()
{
char *Nu=NULL;
StudentNode *p;
int flag=0;
while(!flag)
{
printf("请输入要删除的学号信息:\n");
scanf("%s",Nu);
if((p=Check(Nu,0))!=NULL)
{
show(p);
printf("按任意键开始删除\n");
getch();
u->next=p->next;
free(p);
printf("删除成功,继续删除请输入0:\n");
scanf("%d",&flag);
}
else
{
printf("没有找到学号信息,");
printf("输入 Y/N 继续/停止 输入:\n");
while(x=getch())
{
if(x=='Y'||x=='y')break;
else if(x=='N'||x=='n'){flag=1;break;}
else printf("输入错误,请重新输入:\n");
}
}
}
back();
}




check函数如下
StudentNode *Check(char *c,int i)
{
StudentNode *p;
p=L->next;
if(i==0)/*寻找学号*/
{
u=L;
while(p!=NULL)
{
if((strcmp(p->IDNumber,c))==0)
return p;
u=p;
p=p->next;
}
}
else if(i==1)/*寻找姓*/
{
title2();
while(p!=NULL)
{
if((strcmp(p->FamilyName,c))==0)
show(p);
p=p->next;

}
}
else if(i==2)/*寻找名*/
{
title2();
while(p!=NULL)
{
if((strcmp(p->GivenName,c))==0)
show(p);
p=p->next;
}
}
return NULL;
}
...全文
135 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mangoalx 2014-04-11
  • 打赏
  • 举报
回复
void Delete() { char *Nu=NULL; StudentNode *p; int flag=0; while(!flag) { printf("请输入要删除的学号信息:\n"); scanf("%s",Nu); 这里,Nu只是个指针,没有给字符串分配空间,scanf的时候肯定出问题。改成Nu[32]固定分配个空间试试
沐魇 2014-04-11
  • 打赏
  • 举报
回复
那个问题等会发 没有人来帮一下吗= = 我纠结了四五个小时实在没办法啦

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧