一个关于链表数据添加的问题
void new_record(){
char numstr[10];
newp=(NODE *)malloc(sizeof(NODE));
if(head==NULL)
head=newp;
else
{
cur=head;
while(cur->next!=NULL);
cur=cur->next;
cur->next=newp;
}
cur=newp;
printf("\n请输入你的姓名:");
gets(cur->name);
printf("\n请输入你的学号:");
gets(numstr);
cur->num=atoi(numstr);
cur->next=NULL;
printf("\n信息添加成功!\n");
}
为什么第二次添加元素的时候,就出错了
下面是主程序
void main()
{
char ch;//用于接收输入的字符来判断程序要执行的操作
while(1)
{
printf("*****************\n");
printf("添加数据——E\n");
printf("查看数据——L\n");
printf("*****************\n");
ch=getchar();
getchar();
switch(ch)
{
case 'E':
case 'e':
new_record();
break;
default:
printf("你输入错误!\n");
break;
}
}
}