链表c语言 - 爱问答

(爱问答)

链表c语言

追问:#include<stdio.h>
#include<stdlib.h>
struct node
{
int data;
struct node *next;
};
struct node *create(int n)
{
int i;
struct node *head, *p1 ,*p2;
int a;
head=NULL;
printf("输出整数 ");
for(i=n;i>0;i++)
{
p1=(struct node*)malloc(sizeof(struct node));
scanf("%d",&a);
p1->data=a;
if(head==NULL)
{
head=p1;
p2=p1;
}
else
{
p2->next=p1;
p2=p1;
}
}
p2->next=NULL;
return head;
}
int main()
{
int n;
struct node *q;
printf("输出你想创建的节点 ");
scanf("%d",n);
q=create(n);
printf("输出的结果是 ");
while(q)
{
printf("%d",q->data);
q=q->next;
}
printf(" ");
}题目是输入3个节点 并输出结点数
//师傅你帮我看看这个书上链表写的是不是错的啊 我 运行没有结果 所有指针都指向p空间我咋看咋不对劲呢  既然创建3个指针 就要管理3个结构体节点的空间 这里为啥把所有指针都指向p?
链表不是一环扣一环吗  ? head->next=p1;
                                         p1->next=p2;
                                         p2->next=NULL; 链表不应该是这样形式吗?为什么所有指针都要指向p呢  如果这样况三个指针如果输出的不都是p空间的数据吗?

scanf("%d",n);

scanf("%d",&n);

for(i=n;i>0;i++)

for(i=n;i>0;i--)

程序就可以正常运行了,测试结果

链表c语言

相关标签:c语言

下一篇:为什么我在regedit里找不到HKEY_CURRENTVER?

上一篇:苹果6p插上数据线没反应怎么办

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?