问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
```c
#include<stdio.h>
#include<stdlib.h>
typedef struct list {
int date;
struct list* next;
}node;
int main()
{
int a;
int b;
int i, j;
int x, z;
int count;
//链表的创立
printf("请输入链表节点为几\n");
scanf_s("%d", &a);
printf("请输入链表数据\n");
int* p = (int*)malloc(a * sizeof(int));
for (j = 0; j < a; j++)
{
scanf_s("%d", &p[j]);
}
node* head = (node*)malloc(sizeof(node));
head->next = NULL;
for (i = 0; i < a; i++)
{
node* node1 = (node*)malloc(sizeof(node));
node1->date = p[i];
node1->next = head->next;
head->next = node1;
}
//链表的遍历
node* h;
h = head->next;
printf("你输入的链表如下\n");
while (h != NULL)
{
printf("%d ", h->date);
h = h->next;
}
//链表的插入
h = head->next;
printf("请输入插在第几个数后面");
scanf_s("%d", &x);
printf("请输入插入的数");
scanf_s("%d", &z);
count = 0;
while (h != NULL && count < x)
{
count++;
h = h->next;
if (count == x)
{
node* node1 = (node*)malloc(sizeof(node));
node1->date = z;
node1->next = head->next;
head->next = node1;
}
}
h = head->next;
while (h != NULL)
{
printf("%d ", h->date);
h = h->next;
}
}
```