qq_38436167 2018-10-22 11:11 采纳率: 0%
浏览 952
已结题

为什么我在Dev C++编译器上执行以下代码时会出错(初学者菜鸟问题)

我想在执行case1输入数字以后执行case3,但是Run界面中输入case3执行的数字三,调用的是case1的函数?
# define SEQLIST_INIT_SIZE 8
#include
#include
#include
#include
typedef int ElemType;
typedef struct SeqList
{
ElemType *base;
int capacity;
int size;

}SeqList;

void InitSeqList(SeqList *list);
void push_back(SeqList *list,ElemType x);
void show_list(SeqList *list);
int main()
{
SeqList mylist;
InitSeqList(&mylist);
ElemType Item;
int select = 1;
while(select)
{
printf("1push_back 2push_front \n");
printf("3show_list 4pop_back \n");
printf("5pop_front 6insert_pos \n");
printf("7find 8length \n");
printf("9delete_pos 10delete_val\n");
printf("11sort 12reserve \n");
printf("13clear 14destory \n");
printf("0quit_system \n");

    scanf("%d,&select");
    if(select == 0)
    break;
    switch(select)
    {
    case 1:
            printf("输入插入的数据\n");
            while(scanf("%d",&Item),Item!=-1)
            {
            push_back(&mylist,Item);
            }

            break;

    case 3:
            show_list(&mylist);
            break;
    default:
            printf("error\n");
            break;
    }
}

}

void InitSeqList(SeqList list)
{
list->base = (ElemType
)malloc(sizeof(ElemType)*SEQLIST_INIT_SIZE);
assert(list->base!=NULL);
list->capacity=SEQLIST_INIT_SIZE;
list->size=0;

}
void push_back(SeqList *list,ElemType x)
{
if(list->size>=list->capacity)
{
printf("full,不能尾插");
return;
}
list->base[list->size]=x;
list->size++;
}

void show_list(SeqList *list)
{
for (int i=0; isize;++i)
{
printf("%d",list->base[i]);
}
printf("\n");
}

  • 写回答

3条回答 默认 最新

  • 苏大强太强了 2018-10-22 14:09
    关注

    void InitSeqList(SeqList list)
    {
    list->base = (ElemType)malloc(sizeof(ElemType)*SEQLIST_INIT_SIZE);
    assert(list->base!=NULL);
    list->capacity=SEQLIST_INIT_SIZE;
    list->size=0;
    }
    首先看到这个函数,你的语法有问题。
    list本身就是结构体名称,结构体指针才能加->,先把语法小问题改改嘻嘻。
    void InitSeqList(SeqList list)
    {
    list.base = (ElemType*)malloc(sizeof(ElemType)*SEQLIST_INIT_SIZE);
    assert(list.base!=NULL);
    list.capacity=SEQLIST_INIT_SIZE;
    list.size=0;
    }

    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大