供参考:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
typedef struct node {
short data;
struct node* next;
}Node;
int main()
{
int n = 5, i;
Node* head = NULL, * p = NULL, * q = NULL;
printf("请输入%d个节点的数据==>\n", n);
for (i = 0; i < n; i++) //输入10个节点的值,不带头节点
{
p = (Node*)malloc(sizeof(Node));
scanf("%d", &p->data);
p->next = NULL;
if (head == NULL) {
head = p;
}
else {
q->next = p;
}
q = p;
}
q = head;
while (q)//输出链表
{
printf("节点值==>%d\n", q->data);
q = q->next;
}
while (head)//释放链表
{
p = head;
head = p->next;
free(p);
}
return 0;
}
可以有人来帮忙解答一下吗