线性表表示和实现的主函数,请问哪里有错误?

void main()
{
Sqlist L,M,N;
int x,i,n;
printf("1.建立\n");
printf("2.遍历\n");
printf("3.查找\n");
printf("4.插入\n");
printf("5.删除\n");
printf("6.合并\n");
while(1)
{
printf("请选择菜单:");
scanf("%d",&n);
switch(n)
{
case 1:Creatlist(L);break;
case 2:printlist(L);break;
case 3:printf("请输入要查找的元素:");
scanf("%d",&x);
Searchlist(L,x);break;
case 4:printf("请输入要插入的位置:");       
scanf("%d",&i);
if(iL.length+1){
printf("error!\n");break;}
printf("请输入要插入的元素:");
scanf("%d",&x);
Inseri(L,i,x);
printlist(L);break;

    case 5:printf("请输入要删去的元素的位置:");       
        scanf("%d",&i);    
        if(i<1||i>L.length)
        {printf("error!\n");break;}    
        Delete(L,i);
        printlist(L);break; 
    case 6:Creatlist_sorted(L);       
        Creatlist_sorted(M);    
        Merger(L,M,N);    
        printlist(N);break;
    }
}

}

你这个没有一个退出的菜单?系统一直运行?
另外别的功能就要看你这些函数、List定义什么的了。