小白c语言链表问题
刚开始学c,在刷题,debug了好久没有发现问题。。不知道下述代码中的p_node为什么一直是null,请各位大神指点一波?
问题描述:
4-3 求链式表的表长 (10分)
本题要求实现一个函数,求链式表的表长。
输入样例:
1 3 4 5 2 -1
输出样例:
5
我的代码:
#include <stdio.h>
#include <stdlib.h>
typedef int ElementType;
typedef struct LNode *PtrToLNode;
struct LNode {
ElementType Data;
PtrToLNode Next;
};
typedef PtrToLNode List;
List Read(); /* 细节在此不表 */
int Length( List L );
int main()
{
List L = Read();
printf("%d\n", Length(L));
return 0;
}
/* 你的代码将被嵌在这里 */
List Read()
{
ElementType a[100];
int i = 0;
List p_list,p_node;
// 初始化链表
p_list = (List)malloc(sizeof(List));
for (int j = 0; j < 100; ++j) {
a[j] = 0;
}
//一直扫描,直到输入为-1时跳出
scanf("%d",&a[i]);
p_list->Data = a[i];
p_list->Next = NULL;
p_node = p_list->Next;
while (a[i]!=-1)
{
i++;
scanf("%d",&a[i]);
p_node = (List)malloc(sizeof(List));
p_node->Data = a[i];
p_node->Next = NULL;
p_node = p_node->Next;
}
return p_list;
}
int Length( List L )
{
int num;
while (L->Next != NULL)
num++;
return num-1;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题已解决,链表新建部分出现问题。