关于链表的输入,求教!!!!已上传全部代码
程序代码:
FILE *fp;
struct wm *p0;
struct q *p1,*p2,*head=0;
int n=0;
char x=0;
p0=(struct wm*)malloc(len1);
printf("请输入链表名称:\n");
scanf("%s",p0->wjm);
a: if((fp=fopen(p0->wjm,"w+"))==NULL)
{printf("链表名不能为空,请重新输入\n");
scanf("%s",p0->wjm);
goto a;
}
b: printf("请输入链表内容:\n");
p1=(struct q*)malloc(len);
scanf("%d%s%f%f%f%d%d%d%c",u.num,u.name,u.yw,u.sx,u.yy,u.v.year,u.v.yeu,u.v.ri,u.st);
getchar();
u.pj=(u.yw+u.sx+u.yy)/3;
if(u.st=='s')scanf("%s",u.w.zhiwu);
else if(u.st=='t')scanf("%d",u.w.banji);
else("老师请输入t 学生请输入s\n");
if(p1->num==NULL)
{
printf("学号不能为空");
goto b;
}
while(p1->num!=NULL)
{
n=n+1;
if(n==1) p0->lb=p2=p1;
p1=(struct q*)malloc(len);
c: scanf("%d%s%f%f%f%d%d%d%c",p1->num,p1->name,u.yw,u.sx,u.yy,u.v.year,u.v.yeu,u.v.ri,u.st);
getchar();
u.pj=(u.yw+u.sx+u.yy)/3;
if(p1->num==NULL)
{
printf("学号不能为空");
goto c;
}
if(u.st=='s')scanf("%s",u.w.zhiwu);
else if(u.st=='t')scanf("%d",u.w.banji);
else("老师请输入t 学生请输入s\n");
p2->next=p1;
}
p2->next=0;
main函数没写上来,否则太多了 编译连接都没问题
只是到了goto b返回的位置粗体的那些,没办法输入,总提示内存不能为written
哪错了呀
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
已经找到错了,就是代价大了点,
我是一行行删代码才找到的!!!!
找到以后我连掐死自己的心都有了!!!
罚自己写500遍取地址符!!!!!!
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
[ 本帖最后由 旭日孤帆 于 2012-1-28 14:22 编辑 ]








