有大佬帮忙看看吗?
第25,26行一直报错说取消对NULL指针的引用,调试时卡在这里并且还会报访问权限冲突的错误
2条回答 默认 最新
- 技术专家团-小桥流水 2021-11-17 22:50关注
你的代码错误很多,代码修改如下:
#include <stdio.h> #include <stdlib.h> typedef int datatype; typedef struct link_node { datatype info; struct link_node* next; }node,*linklist; linklist createList() { datatype x; linklist L; char ch; L = (linklist)malloc(sizeof(node)); if (L == NULL) { printf("error"); return 0; } linklist n,p; p = L; printf("请输入整数系列:\n"); //输入系列并以回车结束 while(1) { scanf_s("%d",&x,1); n = (linklist)malloc(sizeof(node)); n->info = x; n->next = NULL; p->next = n; p = n; if( (ch=getchar()) == '\n') break; } return L; } void print(linklist head) { linklist p; p = head->next; while(p) { printf("%d ",p->info); p = p->next; } printf("\n"); } //翻转 linklist reverse(linklist head) { linklist p,t,k; p = head->next; t = p->next; p->next = NULL; while(t) { k = t->next; head->next = t; t->next = p; p = t; t = k; } return head; } //释放内存 void release(linklist head) { linklist p; while(head) { p = head->next; free(head); head = p; } } int main() { linklist head = createList(); print(head); head = reverse(head); printf("逆序后:"); print(head); release(head); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录