gpt4 book ai didi

c - 程序在单链表中插入一个元素

转载 作者:行者123 更新时间:2023-11-30 15:01:52 25 4
gpt4 key购买 nike

#include<stdio.h>
#include<malloc.h>
struct node
{
int data;
struct node *next;
};
struct node* insert_beg(struct node *h,int x)
{
struct node *t;
printf("\n address = %u --- ",*h);
t=(struct node *)malloc(sizeof(struct node));
if(h==NULL)
{
t->data=x;
t->next=NULL;
h=t;
}
else
{


t->data=x;
t->next=h;
h=t;
}
return h;

}
void display(struct node *h1)
{
struct node *t=h1;
while(t->next!=NULL)
{
printf("%d->",t->data);
t=t->next;
}
}
int main()
{
struct node *p=NULL;
int a,ch=5;
while(ch--)
{

printf("\n Enter data");
scanf("%d",&a);
p=insert_beg(p,a);
display(p);
}display(p);

}

以上是c中单链表开头插入元素的代码。

代码编译成功,但是当我尝试插入元素时系统挂起......无法找到错误。谁能建议我需要做的更正。

下面提到的表达式是否有错误...需要帮助。

p=insert_beg(p,a);

最佳答案

#include<stdio.h>
#include<malloc.h>
struct node
{
int data;
struct node *next;
};
struct node* insert_beg(struct node *h,int x)
{
struct node *t;
t=(struct node *)malloc(sizeof(struct node));
if(h==NULL)
{
t->data=x;
t->next=NULL;
h=t;
}
else
{
t->data=x;
t->next=h;
h=t;
}
return h;
}
void display(struct node *h1)
{
struct node *t=h1;
while(t->next!=NULL)
{
printf("%d->",t->data);
t=t->next;
}
printf("%d",t->data);
}
int main()
{
struct node *p=NULL;
int a,ch=5;
while(ch>=0)
{
printf("\n Enter data:-");
scanf("%d",&a);
p=insert_beg(p,a);
display(p);
ch--;
}
display(p);

}

关于c - 程序在单链表中插入一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41225854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com