xuannfann 2018-10-09 17:43 采纳率: 100%
浏览 454
已采纳

c语言 基础链表 意外中断。谢谢

(在输出位置意外中断,程序功能是输入姓名和学号,然后在首位再插入一个学生,然后输出整个链表,中断位置在输出函数的第一次姓名输出)

#include
#include

struct Student
{
char cName;
int iNumber;
struct Student *pNext;
};

int iCount;

struct Student *Create()
{
struct Student *pHead=NULL;
struct Student *pEnd,*pNew;
printf("Plase enter Name first,then Number:\n");
pEnd=pNew=malloc(sizeof(struct Student));
scanf("%s",&pNew->cName);
scanf("%d",&pNew->iNumber);
while(pNew->iNumber!=0)
{
iCount++;
if(iCount==1)
{
pNew->pNext=NULL;
pEnd=pNew;
pHead=pNew;
}
else
{
pNew->pNext=NULL;
pEnd->pNext=pNew;
pEnd=pNew;
}
pNew=malloc(sizeof(struct Student));
scanf("%s",&pNew->cName);
scanf("%d",&pNew->iNumber);
}
free(pNew);
return pHead;
};

void Print(struct Student *pHead)
{
struct Student *pTemp;
int iIndex=1;
printf("the list has %d members\n\n",iCount);

pTemp=pHead;

while(pTemp!=NULL)
{
printf("No.%d student:\n",iIndex);
printf("accomplished");
printf("Name:%s",pHead->cName);
printf("Number:%d\n",pTemp->iNumber);
pTemp=pTemp->pNext;
iIndex++;
}
};

struct Student *Insert(struct Student *pHead)
{
struct Student *pInsert;
printf("Insert member at first\n");
pInsert=malloc(sizeof(struct Student));
scanf("%s",&pInsert->cName);
scanf("%d",&pInsert->iNumber);
pInsert->pNext=pHead->pNext;
pHead->pNext=pInsert;
iCount++;
return pHead;

};

main()
{
struct Student *pHead;

printf("readng...\n");
pHead=Create();
printf("Insert readying\n");
pHead=Insert(pHead);
printf("\nInsert accomplished\n");
Print(pHead);

return 0;
}

展开全部

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-10-09 18:04
    关注

    char cName;
    ->
    char cName[100];

    你只有1个字符,存不下name

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 odoo17在制造模块或采购模块良品与次品如何分流和在质检模块下如何开发
  • ¥15 Qt音乐播放器的音乐文件相对路径怎么写
  • ¥15 VB.NET利用摄像头拍照的程序
  • ¥15 用Qt实现TCP通信测试不知道为什么没连上
  • ¥15 linux下vscode设置不了字连体
  • ¥20 游戏mod是如何制作的
  • ¥15 关于#hadoop#的问题:按照老师上课讲的步骤写的
  • ¥20 有人会用这个工具箱吗 付fei咨询
  • ¥30 成都市武侯区住宅小区兴趣点
  • ¥15 Windows软实时
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部