求问下取消对NULL指针""的引用是什么情况啊,

南玑菌 2019-09-25 07:56:33
#include<stdio.h> #include<stdlib.h> typedef struct LinkList* List; struct LinkList { int data; struct LinkList* next; }; void FindList(List L, int k); int main() { int K; int count = 1, j = 0; List p, q, head = NULL; p = q = (List)malloc(sizeof(struct LinkList)); scanf_s("%d", &p->data); while (p->data >= 0) { if (j == 0) { head = p; } else { q->next = p; } q = p; p = (List)malloc(sizeof(struct LinkList)); scanf_s("%d", &p->data); j++; } q->next = NULL; scanf_s("%d", &K); FindList(head, K); return 0; } void FindList(List L, int k) { List h1, h2; int i; h1 = h2 = L; for (i = 0; i < k; i++) { h1 = h1->next; if (h1 == NULL) { break; } } if (h1 == NULL) { printf("NULL"); } else { while (h1 != NULL) { h1 = h1->next; h2 = h2->next; } printf("%d", h2->data); } }
...全文
1090 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
轻箬笠 2019-09-27
  • 打赏
  • 举报
回复
引用 3 楼 南玑菌 的回复:
啊,在哪里要free啊?
在FindList(head, K);之后吧。我只看到你用malloc,没看到你用free
轻箬笠 2019-09-25
  • 打赏
  • 举报
回复 1
是不是没有free?
  • 打赏
  • 举报
回复
不太清楚,但是我VS2015运行倒是没有警告
wowpH 2019-09-25
  • 打赏
  • 举报
回复
调了一遍,完全没看懂你要干什么。但是编译倒是没问题。 不介意的话,发下题目链接。
南玑菌 2019-09-25
  • 打赏
  • 举报
回复
有人解答一下吗,急!!!!
南玑菌 2019-09-25
  • 打赏
  • 举报
回复
啊,在哪里要free啊?

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧