c语言链表 插入,dalao进来看看呗

typedef struct book
{
int number;
char name[20];
int jaige;
}stumes;
typedef struct tagnode
{
stumes data;
struct tagnode *next;
}node;
node *head=NULL;

void charu()
{

int num,i;
node *p,*q;
p=head;

printf("请输入你要插入位置: ");
scanf("%d",&num);
{
printf("请输入你要插入的:\n");
q=(node *)malloc(sizeof(node));
scanf("%d %s %c %d %d",&q->data.number,q->data.jaige,q->data.name);

while(p!=NULL)
{
if(p->data.number==q->data.number)
{
printf("该学号已经存在,无法插入!\n");
return ;
}
p=p->next;
}
p=head;
for(i=0;i p=p->next;
q->next=p->next;
p->next=q;
printf("插入成功!\n");
return ;
}
}
编译时通过了的,应该是逻辑上出了问题。

1个回答

q->data.jaige
这里连取地址符号都没有
for(i=0;i p=p->next;
这是什么鬼。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐