在c语言链表的第一个节点,C语言链表输入第一个节点后就报错终止运行,代码内容,求大神~~~? 爱问知识人...

C语言 链表 输入第一个节点后就报错终止运行,代码内容,求大神~~~~~~// 结构:建立10个节点的链表.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include

#include

#de

C语言 链表 输入第一个节点后就报错终止运行,代码内容,求大神~~~~~~// 结构:建立10个节点的链表.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include

#include

#define N 10

struct Cstudent

{

char num[15];//学号

char name[20];//姓名

char sex[6];//性别

int age;//年龄

struct Cstudent *next;

};

struct Cstudent *creat()

{

struct Cstudent *p,*q,*head;

char sname[20];

head=q=NULL;

while(1)

{

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

scanf("%s",sname);

if(strcmp(sname,"#")==0)

break;

p=(struct Cstudent *)malloc(sizeof(struct Cstudent));

strcpy(p->name,sname);

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

scanf("%s",p->num);

printf("请输入性别:");

scanf("%s",p->sex);

printf("请输入年龄:");

scanf("%d",p->age);

if(q==NULL)

head=q=p;

else

{

q->next=p;

q=p;

}

}

free(p);

q->next=NULL;

return head;

}

void printflist(struct Cstudent *head)

{

struct Cstudent *p;

for(p=head;p!=NULL;p=p->next)

printf("%s %d %s %s

",p->name,p->age,p->sex,p->num);

}

int _tmain(int argc, _TCHAR* argv[])

{

struct Cstudent st;

int i;

printf("请输入学生信息(输入“#”结束)

");

st=*creat();

printf("----------------------------------------------------

");

printf("--学生姓名-------年龄-------性别-------学号---------

");

printflist(&st);

printf("----------------------------------------------------

");

return 0;

}

展开

全部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值