建立具有三个结点的链表并输出链表。结点数据为学号、姓名。其中main函数代码如下:
时间: 2024-02-06 21:12:42 浏览: 82
好的,我来帮你解答这个问题。下面是建立具有三个结点的链表并输出链表的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义链表结点结构体
struct node {
int id; // 学号
char name[20]; // 姓名
struct node *next; // 指向下一个结点的指针
};
int main()
{
// 创建三个结点
struct node *head, *p1, *p2, *p3;
head = (struct node *)malloc(sizeof(struct node));
p1 = (struct node *)malloc(sizeof(struct node));
p2 = (struct node *)malloc(sizeof(struct node));
p3 = (struct node *)malloc(sizeof(struct node));
// 填充结点数据
head->id = 0;
strcpy(head->name, "");
head->next = p1;
p1->id = 1;
strcpy(p1->name, "Tom");
p1->next = p2;
p2->id = 2;
strcpy(p2->name, "Jerry");
p2->next = p3;
p3->id = 3;
strcpy(p3->name, "Mike");
p3->next = NULL;
// 遍历链表并输出结点数据
struct node *p = head;
while (p != NULL) {
printf("id=%d, name=%s\n", p->id, p->name);
p = p->next;
}
return 0;
}
```
运行结果为:
```
id=0, name=
id=1, name=Tom
id=2, name=Jerry
id=3, name=Mike
```
这里我们创建了一个具有四个结点的链表,其中头结点的数据为空,而后面的三个结点分别存储了学号和姓名信息。最后我们遍历整个链表并输出每个结点的数据。
阅读全文