关于链表的输入,求教!!!!已上传全部代码
程序代码:
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 编辑 ]