Dreamtrue! 2022-05-11 17:16 采纳率: 0%
浏览 22

这段代码哪错了,显示段异常?

#include <stdio.h>
#include <stdlib.h>
typedef struct LNode{
int data;
struct LNode *next;
}LNode,*Link;

void hInsert(Link *h,int n){
LNode *s;
int i;
*h=(Link)malloc(sizeof(LNode));
(*h)->next=NULL;

for(i=0;i<n;i++){
s=(Link)malloc(sizeof(LNode));
s->data=1;
s->next=(*h)->next;
(*h)->next=s;
}
}
void l(Link h){
LNode *p=h->next;
while(p!=NULL){
printf("%d\n",p->data);
p=p->next;
}

}

int main()
{
Link h=NULL;
hInsert(&h,5);
l(h);
return 0;
}

  • 写回答

2条回答 默认 最新

  • 心随而动 新星创作者: 人工智能技术领域 2022-05-11 17:19
    关注

    你的语法是错误的,(h)后面不能用→,用→就不能用号。如果还不理解的话,可以问我,

    评论

报告相同问题?

问题事件

  • 创建了问题 5月11日