fscanf(fp3, "%d", &conf.number); head->elem1 = conf.number; end = head; for (int i = 0; i < conf.number; i++) { //利用for循环向链表中添加数据 node = (struct Stu*)malloc(sizeof(struct Stu));//给普通节点申请内存空间 fscanf(fp3, "%d%d%d", &(node->elem1), &(node->elem2), &(node->elem3)); //给数据域赋值 end->next = node; //让上一个节点的数据域指向当前节点 end = node; //end指向当前节点,最终end指向尾节点 } end->next = NULL; print(head); //在屏幕上显示数据 return head; //返回头节点的地址什么意思
时间: 2024-03-14 17:48:53 浏览: 17
这段代码是一个函数,它的作用是从文件中读取数据,并将数据存储在一个链表中。具体来说,它首先从文件中读取一个整数,存储在conf.number中,然后利用for循环向链表中添加conf.number个节点,每个节点有三个整型元素elem1、elem2和elem3,这三个元素的值分别从文件中读取。最后,它将链表头节点的地址返回,并在屏幕上显示链表中的数据。
相关问题
fscanf(fp, "%s %d", p->name, &p->id) != EOF
这是一个读取文件的语句,使用fscanf函数从文件流fp中读取一行数据,并将读取到的字符串和整数分别存储到结构体变量p的成员变量name和id中。读取操作会一直进行,直到文件流结束或者读取到错误的数据类型,此时fscanf函数会返回EOF,循环停止。需要注意的是,在使用fscanf函数读取字符串时,需要保证结构体成员变量name有足够的空间来存储读取到的字符串,否则会导致缓冲区溢出的问题。同时,在使用完文件流后,需要使用fclose函数关闭文件,以便于程序可以释放文件资源。
void lianbiao(struct student *head) { FILE *fp; struct student *p1, *q1; q1 = head; if ((fp = fopen("duli16.3.dat", "r")) == NULL) { printf("File open error!\n"); return; } while (1) { p1 = (struct student *)malloc(sizeof(struct student)); if((fscanf(fp, "%s %s %lf", p1->num, p1->name, &p1->money)) ==-1){ break; }; // printf("%s\n",p1->num); p1->next = NULL; q1->next = p1; q1 = p1; } q1->next = NULL; fclose(fp); // printf("111\n"); }
lianbiao函数的作用是从文件"duli16.3.dat"中读取学生信息,存储到链表中。具体实现代码如下:
```c
void lianbiao(struct student *head) {
FILE *fp;
struct student *p1, *q1;
q1 = head;
if ((fp = fopen("duli16.3.dat", "r")) == NULL) {
printf("File open error!\n");
return;
}
while (1) {
p1 = (struct student *)malloc(sizeof(struct student));
if((fscanf(fp, "%s %s %lf", p1->num, p1->name, &p1->money)) ==-1){
break;
};
p1->next = NULL;
q1->next = p1;
q1 = p1;
}
q1->next = NULL;
fclose(fp);
}
```
dayin函数的作用是遍历链表,输出学生信息。具体实现代码如下:
```c
void dayin(struct student *head) {
struct student *p;
p = head->next;
while (p != NULL) {
printf("%s %s %lf\n", p->num, p->name, p->money);
p = p->next;
}
}
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)