关于链表的一个小问题

lightyacht lightyacht 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include<stdio.h>
#include<malloc.h>
typedef struct
{
int num;
char name[20];
} elemtype;
typedef struct LNode
{
elemtype data;
struct LNode *next;
} node;


int main()
{
int i=0;
node *head,*p,*q;
head=NULL;
q=p=(node *)malloc(sizeof(node));
while( (p->data).num !=0)
{
if(p!=NULL)
{
printf("Please input :\n");
scanf("%d, %s",((p->data).num),((p->data).name));
if(0==i)
{
head=p;
i++;
}
else
q->next=p;
q=p;
}

// q=p;
p=(node *)malloc(sizeof(node));
}

printf("%d\n",sizeof(elemtype));
system("pause");
return 0;
}

程序不能正常运行,应该是标红的地方有问题,可我看不出来,哪位能说说
...全文

相关推荐

一个自己用java写的学生单链表的相关问题

在Java中,我们通常定义一个表示链表节点的类,如`Node`,它有两个属性:`data`用于存储学生信息,`next`用于指向下一个节点。

weixin_38669628

合并两个有序链表是一个常见的编程问题.txt

合并两个有序链表是一个经典的编程问题,涉及到了数据结构和算法的运用。这个问题的目标是将两个已排序的链表(每个节点包含一个整数值)合并成一个新的有序链表。在这个任务中,我们通常假定链表的节点值是升序排列

wddblog

c++笔试题汇总 ①链表反转 单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题。比如一个链表是这样的: 1->2->3->4->5 通过反转后成为5->4->3->2->1。 最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历。源代码如下:

在遍历链表的过程中,每次都将cur的next指针指向前一个节点pre,然后更新pre和cur的值。当遍历结束时,将head指针指向pre,以完成链表的反转。

leikkboy

迷宫问题c语言课设本设计程序实现一个以链表作存储结构的栈类型,再用非递归法走出迷宫的路径。

总的来说,这个C语言课程设计旨在通过实现链表栈和非递归路径探索算法,提供一个解决迷宫问题的完整方案。这不仅锻炼了对数据结构的理解,也强化了对算法应用的能力。

sun369092349

C/C++经典约瑟夫环问题——带头结点的单向循环链表

在计算机科学领域,约瑟夫环(Josephus Problem)是一个著名的理论问题,它涉及到了循环链表和数据结构的操作。本程序以C/C++语言实现,利用带头结点的单向循环链表来解决这个问题。

Llong168
评论 4
收藏 已收藏
分享
返回顶部
lightyacht
C语言 70,040 成员 243,237 内容