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个回答

char cName;
->
char cName[100];

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

caozhy
贵阳老马马善福专门编写代码的老马就是我! 回复xuannfann: 问题解决的话,请点下采纳,谢谢了
12 个月之前 回复
xuannfann
xuannfann 我刚刚仔细从头查的时候才发现 之前一直纠结在Create和Print函数里 简直了 哈哈
12 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C语言链表基础
本课程讲解Linux编程下C语言的基础编程知识,包括环境构建,Linux shell命令 ,Linux VI编辑器,Linux GCC编译器使用,C语言保留字,变量,表达式、语句、函数、程序的结构、数据结构与算法、链表与栈。
链表基础_C语言
#include <stdio.h> #include <stdlib.h> typedef struct Node { int value; struct Node *pNext; }NodeList; NodeList *createNodeList() { NodeList *head = (NodeList*)malloc(sizeo...
C语言学习笔记 链表基础
链表 一、链表的应用背景及使用情况: 1、项目数据再添加过程中存在不确定的数,无法在编写程序中分配确定的内存空间; 2、在频繁运用malloc()分配内存; 3、数据块分配的空间不连续; 4、不能用大数据指针或者需要节省使用空间; 为了解决上述问题,C语言中增加了链表。 二、基本形式及原则 链表是一个列表,其中每一项都包含一个元素,这个元素可以描述下一个列表或数据的存储地址。在使用链
C语言链表的基础练习
链表的基础练习:实现一个链表,完成链表的插入,查找,删除 1、申请一个链表 2、向队列中压入一数据,添加到队列头部 3、向队列中压入一数据,添加到队列尾部 4、将队列头部成员出列 5、释放链表#include <stdio.h> #include <stdlib.h>struct student { char name[20]; int age; float so
链表基础(C语言实现)
 #include #include #include struct Node{  int data;  struct Node *next; }; //创建带有头结点的单向链表 struct Node * SList_Creat() {  int data=0;  //创建头结点  struct Node *head=NULL,*pm=NULL,*pCur=NULL;
c语言链表问题,谢谢
设p指向单链表的倒数第二个结点的指针,,要在最后一个结点之后插入s所指的结点,则以下正确的是rnA,s->next=NULL;p=p->next;p->next=s;rnB,p=p->next;s->next=p->next;p->next=s;rnC,p->next;s->next=p;p->next=s;rn能讲一下原因吗,谢谢
c 语言的意外处理
是用--try 和 --leave 吗?rnrnrn 谁给具体的说说,谢谢
c 语言链表建立 c语言链表
c 语言链表建立c 语言链表建立c 语言链表建立c 语言链表建立
c语言链表.c
链表格式例子,对于c语言初学者的示列以及相应的学习帮助。最初等的链表应用
svn 意外中断
在遇到svn提交时候意外中断的情况下,下次提交会被锁住,提示进行clean up  ,在项目上右键也提示svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted,死循环 解决方式:1 。在myeclipse中team-refresh/clean up 进行尝试  (可
c语言中断模板
实用的中断模板。适合初学单片机的童鞋们!
单片机C语言中断
大家好请问用C语言怎么写中断啊?具体问题是:rn1、中断函数的格式是什么啊?rn2、怎么实现多中断啊?rn3、写中断应该注意什么问题啊?rn以上以51或PIC单片机为例!最好是PIC的!谢谢!
c语言中断函数
请问,C语言中断函数可以有形参吗?rn比如说我定义了一个中断函数 viod interrupt new08int(int flag)可以吗?rn我试了一下在turbo c中编译出错,可是我现在在做一个数据采集的工程,下位机试运行在工程tc 环境的。rn首先我要对传感器进行标定需要下位机采集数据通过终端传到上位机让flag=0;rn后来进行测试时,也是通过中断传数的,这时flag=1。rn我是这么想的,希望做过这方面的高手指点。
C语言的中断信号
信号: 中断信号 ----- 软中断(SIGSEGV)、硬中断(SIGINT ctrl+c) gec@ubuntu:/$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV
C语言中断程序
C51单片机的中断小程序,可以用作初步学习单片机外部中断的程序,简单的流水灯中断程序
链表学习基础篇(c语言)
链表是数据结构中十分重要的一种数据结构!学习过数组的人可能会发现数组这种数据结构在数据插入以及删除上十分的麻烦,而链表这种数据结构的设计则解决了这种问题,但是这种数据结构也有自己很致命的弱点----在实现查找这种操作时则会面临很大的麻烦! 链表的操作思想类似图灵机的计算,操作头沿着线性的数据进行操作!(好吧!自己文字能力太差了!很难把那种动态的操作描述出来。)。 接下来看一段代码吧!看看一个动态长度
C语言数据结构链表基础(一)
数据结构链表基础 线性表的顺序存储结构及其基本操作
C语言城市链表
一个简单的城市链表,由若干个城市的信息,存入一个带头节点的单链表。节点中的城市信息包括城市名,城市坐标,城市面积,城市人口等。能够利用城市名和位置坐标进行有关的查找,插入,删除,更新等操作。
c语言--链表 PPT
C语言链表PPT教学课件 一、链表概述 链表是一种最常见的数据结构,它动态地进行存储分配。 数组:必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费。 链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。 (数组中插入、删除数据项时,需要移动其它数据项)。 链表有单向链表、双向链表、环形链表等形式。
C语言链表得构建
C语言中实现链表的增、删、查、改、以及排序
学生管理系统(C语言+链表)
/root/xiangm/stu_sys |-- Makefile |-- include | |-- other | | `-- other.h | |-- student | | `-- student.h | |-- student_public.h | `-- teacher | `-- teacher.h |-- src | |-- Makefile | |-- lib | | |-- Makefile | | |-- other | | | `-- other.c | | |-- student | | | |-- Makefile | | | `-- student.c | | `-- teacher | | `-- teacher.c | `-- scli | |-- Makefile | |-- other | | |-- Makefile | | |-- other | | |-- other.c | | `-- other.db | |-- student | | |-- Makefile | | |-- student | | |-- student.c | | `-- student.db | `-- teacher | |-- Makefile | |-- teacher | |-- teacher.c | `-- teacher.db `-- target |-- other | `-- other |-- student | `-- student `-- teacher `-- teacher 包括各个文件中的Makefile编写
C语言链表.ppt
C语言链表.ppt
c语言链表.ppt
c语言链表,用来编写c语言程序的。详细情况下了就知道了。
C语言链表示例
C语言实现的链表, 有查找/添加/删除尾/删除指定地址/清除/显示等API, 适合初学者
c语言 文件链表
vs2008 c语言 链表程序 实现导入文件 显示 插入删除 排序 查找
C语言链表学习
C语言链表
C语言链表教程
比较不错的PPT哦,比较详细的介绍了C语言链表一些基础知识。
C语言链表基本操作
C语言链表基本操作
链表 c语言
链 表
链表——C语言
链表是一个很常用的结构。主要分为头结点和各个结点,相互链接起来。                                                                                                                         结构如图所示                          链表的删除、增加、查找都是...
链表的C语言实现
一、单向链表的C语言实现 链表作为一种基本的数据结构在程序开发过程当中经常会使用到。对C语言来说链表的实现主要依靠结构体和指针,所以本文相关内容和程序需要有C语言当中指针和结构体的基础。 链表是一种线性存储数据的结构,存储内容在逻辑上连续的,在物理上却不一定连续。单向链表的组成包括一个链表头(head)和若干链表元素(node),对链表的基本操作其实就是增、删、改、查。 首先说说单向链表的C语言实...
链表 C语言实现
#include <stdio.h> #include <stdlib.h> typedef int ElemType;struct node { ElemType data; /*数据域*/ struct node *next; /*指针域*/ } node; typedef struct node *LinkList;//指向结构的指针 typedef stru
C语言--链表与CMap
静态链表 #include &amp;lt;stdio.h&amp;gt; struct stu{ long num; float score; struct stu *next; }; int main() { struct stu a,b,c,*head; a.num = 1; a.score = 88.5; b.num = 2; ...
链表(C语言实现)
昨天去面试了一次,发现连链表的操作都不会了,链表的操作我还是会的,只奈有一段时间没有敲 c/c++ 的练习代码,一直想把 Qt 学好,到最后我连一个链表的操作都无从下手了,我想以后每天都得练习一下算法和数据结构方面的代码以保持我的编程思维。下面我用 c 语言把链表的基本操作实现了一遍,节点数据的信息是「编号」、「姓名」和「年龄」,实现的功能有「链表的创建」「链表初始化」、「插入节点」、「链表的遍历」
链表面试题——C语言
最近总结了一些有关用C语言实现单链表的面试题。代码如下: list.h文件——主要是条件编译以及各个函数的声明。 #ifndef __LIST__ #define __LIST__#include<stdio.h> #include<windows.h> #include<assert.h>typedef int DataType; typedef struct list { struc
C语言链表
#include&amp;lt;stdio.h&amp;gt; #include&amp;lt;stdlib.h&amp;gt; struct list { int data; struct list *next; }; struct list *head = NULL; void Creatlist() { int i = 0, n = 10; struct list p = NULL, q = NULL; p = (stru...
C语言的链表问题
C语言的链表问题,怎么学它和运用它!
C语言链表的输入输出
1.学生成绩的输入输出 #include #include #define len sizeof(student) typedef struct students { char name[20]; int num; float score; struct students *next; }student; int n; int main() { student *lianbiao(
C语言---链表的创建
1.代码如下链表创建有多种方法,这是较好理解的一种尾插法#include&amp;lt;stdio.h&amp;gt; #include&amp;lt;stdlib.h&amp;gt; struct node { int data; struct node *next; }; int main(void) { int n,i,j,k; scanf(&quot;%d&quot;,...
C语言实现链表
大作业水平... [code=&quot;C&quot;] #include #include struct node{ struct node* next; int c; }; struct node* init_node(int input) { struct node* p; p = malloc(sizeof(struct node)); ...
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview