visual2015 2016-06-19 09:35 采纳率: 80%
浏览 1306
已结题

很简单的C语言小程序,找不出原因

我想根据学号来删除信息。怎么解决

case 2:
{
int num;
NodePtr s;
printf("请输入要删除的学生学号:");
scanf("%d", &num);
s = Search(head, num);
Delete(head, s);
break;
}
---------------------------------------------------------------------------
void Delete(NodePtr head, int num)
{
NodePtr p,q;
p = head;
if (p->next == NULL) printf("------------");
else{
q = p->next;
p->next = q->next;
free(q);
}
}

  • 写回答

3条回答 默认 最新

  • threenewbee 2016-06-19 09:38
    关注
     while (p->Next != null)
    {
    if (p->学号 = num)
    {
    q = p->next;
    p->next = q->next;
    free(q);
    break;
    }
    p = p->Next;
    }
    
    评论

报告相同问题?