void* myInsert(SUB *subj) //链表插入操作
{
SUB *ptr,*ptr2;
ptr=subj;//要传入的节点
if(head==NULL)//头节点为空,说明链表为空链表
{
head=ptr;//将头节点设置为要传入的节点
head->next=NULL;//指针域设为空
}
else//链表不为空
{
for(ptr2=head;ptr2;ptr2=ptr2->next)//从链表头开始找,找到目前最后一个节点
{
if(ptr2->next==NULL)//若当前ptr2是链表最后一个节点
{
ptr2->next=subj;//在链表尾增加一个节点subj
subj->next=NULL;//将新节点的指针域置为空结束链表
break;
}
}
}
return head;
}
void readfile() //阅读文件
{
void *myInsert(SUB*);
SUB *newSub; //新课程
int num,stime,ttime,etime;
int score,term;
char c,name[20],kind[10],fname[20];
FILE *fp; //声明fp是指针,用来指向FILE类型的对象,fp是指向文件结构体的指针变
fp=fopen("2-2.txt","r");
while(!feof(fp))//文件没有结束
{
newSub=(SUB*)malloc(sizeof(SUB));
fscanf(fp,"%d%s%s%d%d%d%d%d\n",&newSub->num,newSub->name,newSub->kind,&newSub->stime,
&newSub->ttime,&newSub->etime,&newSub->score,&newSub->term);
myInsert(newSub);
}
fclose(fp);
}
C语言,第二个自定义函数中while循环是如何结束的,同时在第二个函数中用第一个函数有什么作用?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- 快乐鹦鹉 2022-12-19 13:42关注
36行的while当读取到文件尾的时候就循环结束了
第二个函数是从文件中读取出数据形成链表节点,然后用第一个函数将新的链表节点加入到链表尾部本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 乌班图ip地址配置及远程SSH
- ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
- ¥15 PSPICE制作一个加法器
- ¥15 javaweb项目无法正常跳转
- ¥15 VMBox虚拟机无法访问
- ¥15 skd显示找不到头文件
- ¥15 机器视觉中图片中长度与真实长度的关系
- ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
- ¥15 java 的protected权限 ,问题在注释里
- ¥15 这个是哪里有问题啊?