weixin_44881649
呆毛才是本体
采纳率100%
2020-04-08 13:18

用线性表顺序存储结构写的一段插入函数出现了读取访问权限冲突的问题,在下面代码中的星号中,不知道如何修改,感觉指针也没问题,求各位大佬帮帮忙

已采纳
#include<iostream>
#include<malloc.h>
using namespace std;

#define max 100
#define up 10
typedef struct
{
    char* arr;//建立一个数组 
    int length;//表示数组当前存储个数 
    int listsize;//表示数组存储容量 
}list;
int initlist(list* l)
{
    l->arr = (char*)malloc(max * sizeof(char));
    if (!l->arr)
    {
        cout << "存储空间申请失败" << endl;
        exit(-1);
    }
    l->length = 0;
    l->listsize = max;
    return 0;
}
int append_elem(list* l)
{
    int i;
    for (i = 0; i <= 25; i++)l->arr[i] = 'A' + i;
    l->length = 25;
    return 0;
}

int show_list(list* l)
{
    int i;
    for (i = 0; i <= l->length; i++)
    {
        cout << l->arr[i] << ' ';
    }
    cout << endl;
    return 0;
}
int insert_list(list* l, char a)
{
    int i, j;

    for (i = 0; i <= l->length; i++)
    {
        ******if (a == l->arr[i])******
        {
            for (j = 0; j = l->length-i; j++)
                l->arr[l->length+1-j] = l->arr[l->length-j];
            l->arr[i] = a;
            l->length++;
            return 0;
        }
        else
            cout << "未匹配项" << endl;
    }
    return 0;
}
int main()
{
    char a;
    a = 'A';
    list l;
    initlist(&l);
    append_elem(&l);
    show_list(&l);
    insert_list(&l, a);
    show_list(&l);
    return 0;
}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 1年前
    for (i = 0; i <= l->length; i++)
    ->
    for (i = 0; i < l->length; i++)
    
    点赞 评论 复制链接分享