我想在执行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");
}