struct play *fun(){ struct play *p=NULL,*s;int i=0;p=(struct play *)malloc(sizeof(struct play)); //这里把s改成p,s=p;//这里改成把p的地址赋值给s,这样s就指向链表的第一个元素while(i!=13)//由于前面已经申请了一个,所以最终整个链表的长度是14{ p->next=(struct play *)malloc(sizeof(struct play)); //新申请一个元素,赋给p->next,这样新申请的元素才能与上一个元素连在一起p=p->next;//这句话不用变,后面的都对了i=i+...
p=(struct play *)malloc(sizeof(struct play));p=p->next;这个链接的有问题,因为你的p指针以及申请了一个空间,然后又直接把p指向p的下一个节点的地址,可以用以下这个方法解决:struct play *fun(){ struct play *p=NULL,*s, *q = NULL;int i...