C语言链表(初学者不懂,求大神帮助,教材上的源代码抄下来用Code Blocks编译有个错误) 10
#include<malloc.h>#include<stdlib.h>#include<stdio.h>#include<string.h>#defineN3//定义节...
#include<malloc.h>#include<stdlib.h>#include<stdio.h>#include<string.h>#define N 3 //定义节点的个数#define LEN sizeof(struct grade)//定义节点长度//定义节点结构struct grade{ char no[7];//学号 int score;//成绩 struct grade*next;//指针域};//create()函数功能:创建一个具有头节点的单链表//形参:无//返回值:返回单链表的头指针struct grade*create(void){ struct grade*head=NULL,*next,*tail; int i=1; for(;i<=N;i++);//循环语句输入N个节点的数据域的值 { new=(struct grade*)malloc(LEN);//向系统申请一个新节点的空间 printf("Input the number of student No.%d(6 bytes):",i); scanf("%s",new->no); if(strcmp(new->no,"000000")==0)//如果学号为6个0,则退出 { free(new);//释放最后申请的节点空间 break; } printf("Input the score of the student No.%d:",i); scanf("%d",&new->score); new->next=NULL;//置新节点的指针域为空 //将新节点插入到链表尾,并设置新的尾指针 if(i==1) head=new;//是第一个节点,置头指针 else tail->next=new;//是非首节点,将新节点插入到链表尾 tail=new;//设置新的尾节点 } return(head);//创建N个节点结束,返回head指针}main(){ struct grade*p; int i; p=create();//指针p获得create函数创建链表后返回的链表头指针head if(p!=NULL) for(i=1;i<=N;i++) { printf("&s:%d\n",p->no,p->score); //从链表的第一节点开始输出数据域的成员值 p=p->next; }}
哦哦!这里还有一个错误也请指教一下 展开
哦哦!这里还有一个错误也请指教一下 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询