c语言 段错误 核心已转移,怎么一直是段错误 (核心已转储)?

已结贴√

问题点数:10 回复次数:2

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

怎么一直是段错误 (核心已转储)?

#include

#include

typedef struct{

char no[8];   //8位学号

char name[20]; //姓名

int price;     //成绩

}Student;

typedef struct LNode{

Student   data;       //数据域

struct LNode  *next;   //指针域

}LNode,*LinkList;

//LinkList le;

LNode *le1=NULL,*le2=NULL,*le;

int main(){

static int x;

int a,i;

printf("\n********************************\n\n");

puts("1. 构造链表表");

puts("2. 录入学生信息");

puts("3. 显示学生信息");

puts("4. 输入姓名,查找该学生");

puts("5. 显示某位置该学生信息");

puts("6. 在指定位置插入学生信息");

puts("7. 在指定位置删除学生信息");

puts("8. 统计学生个数");

puts("0. 退出");

printf("\n********************************\n\n");

while(1){

printf("请输入选择:");

scanf("%d",&a);

switch(a){

case 1:{

printf("请输入学生个数:");

scanf("%d",&x);

le1=(LNode *)malloc(sizeof(LNode));

le2=le1;//保存第一个节点地址。

for(i=0;i

if(le1!=NULL){

le->next=le1;

le=le1;

}

else {printf("创建链表失败!");

break;

}

le1=(LNode *)malloc(sizeof(LNode));

}

free(le1);//释放无用的地址

((*le).next)=NULL;//最后节点next内容为空。

le->next=le2;

break;

}

case 2:{

for(i=0;i

printf("请输入学生姓名:");

scanf("%s",le->next->data.name);

printf("请输入学生学号:");

scanf("%s",le->next->data.no);

printf("请输入学生成绩:");

scanf("%d",&(le->next->data.price));

le1=le->next;

le=le1;

}

printf("输入信息完毕!");

break;

}

case 3:{

for(i=0;i

printf("第%d个学生姓名:%s,学号:%s,成绩:%d\n",(i+1),le->data.name,le->data.no,le->data.price);

}

break;

}

//case 4:{

//char b[];

//printf("请输入查找学生的姓名:");

//scanf("%s",b);

//for(i=0;i

//}

}

}

}

在case 1:一直是段错误 (核心已转储)?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值