ChanQi16 2017-03-27 10:56 采纳率: 100%
浏览 11310
已采纳

引发了未经处理的异常:读取访问权限冲突

请大神指教一下,调试显示 q 是nullptr,谢谢了

 # include <malloc.h>
# include <stdlib.h>//exit
# include <stdio.h>

typedef struct Node
{
    int data;
    struct Node *next;
}Node, *LinkList;

LinkList Create_List(LinkList &L)
{
    Node *p, *q;
    int i, n;
    int data;
    L = (LinkList)malloc(sizeof(Node));
    q = L;
    printf("链表的长度为:");
    scanf_s("%d", &n);
    for (i = 0; i<n; i++)
    {
        scanf_s("%d", &data);
        p = (struct Node*)malloc(sizeof(struct Node));
        p->data = data;
        q->next = p;
        q = p;
    }
    q->next = NULL;
    return L;
}

LinkList Merge_List(LinkList La, LinkList Lb)
{
    Node *p, *q;
    LinkList L;
    L = (LinkList)malloc(sizeof(Node));
    L = NULL;
    p = La->next;
    q = Lb->next;
    while (La&&Lb)
    {
        if (La->data<Lb->data)
        {
            L = p;
            p = p->next;
        }
        else
        {
            L = q;
            q = q->next;
        }
    }
    L = p ? p : q;
    return L;
}

LinkList Reverse_List(LinkList L)
{
    Node *p, *q;
    p = L->next;
    L->next = NULL;
    while (p != NULL)
    {
        q = p->next;
        p->next = L->next;
        L->next = p;
        p = q;
    }
    return L;
}


void Print_List(LinkList L)
{
    Node *p = L->next;
    while (p != NULL)
    {
        printf("%d", p->data);
        p = p->next;
    }
    printf("\n");
}


int main()
{
    LinkList La, Lb;
    La = (LinkList)malloc(sizeof(Node));
    Lb = (LinkList)malloc(sizeof(Node));
    Create_List(La);
    Create_List(Lb);
    Print_List(Merge_List(La, Lb));
}
  • 写回答

2条回答 默认 最新

  • -Leto- 2017-03-27 13:41
    关注
    # include <malloc.h>
    # include <stdlib.h>//exit
    # include <stdio.h>
    
    typedef struct Node
    {
        int data;
        struct Node *next;
    }Node, *LinkList;
    
    LinkList Create_List(LinkList &L)
    {
        Node *q;
        int i, n;
        int data;
        L = (LinkList)malloc(sizeof(Node));
        q = L;
        printf("链表的长度为:");
        scanf_s("%d", &n);
        for (i = 0; i<n; i++)
        {
            scanf_s("%d", &data);
            q->data = data;
    
            q->next = (LinkList)malloc(sizeof(struct Node));
    
            if (i < n - 1)
                q = q->next;
        }
        q->next = 0;
        return L;
    }
    
    
    LinkList Merge_List(LinkList La, LinkList Lb)
    {
        LinkList p, t;
        LinkList a = La, b = Lb;
        if (La->data < Lb->data) {
            t = p = La;
            a = La->next;
        }
        else {
            t = p = Lb;
            b = Lb->next;
        }
        while (a!=NULL&&b!=NULL) {
            if (a->data < b->data) {
                t->next = a;
                a = a->next;
                t = t->next;
            }
            else {
                t->next = b;
                b = b->next;
                t = t->next;
            }
        }
        if (a == NULL) {
            t->next = b;
        }
        else {
            t->next = a;
        }
        return p;
    }
    
    LinkList Reverse_List(LinkList L)
    {
        Node *p, *q;
        p = L->next;
        L->next = NULL;
        while (p != NULL)
        {
            q = p->next;
            p->next = L->next;
            L->next = p;
            p = q;
        }
        return L;
    }
    
    
    void Print_List(LinkList L)
    {
        while (L != NULL)
        {
            printf("%d ", L->data);
            L = L->next;
        }
        printf("\n");
    }
    
    
    int main()
    {
        LinkList La, Lb;
        La = (LinkList)malloc(sizeof(Node));
        Lb = (LinkList)malloc(sizeof(Node));
        Create_List(La);
        Create_List(Lb);
        Print_List(Merge_List(La, Lb));
    
        getchar();
        getchar();
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥85 maple软件,solve求反函数,出现rootof怎么办?
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题