c语言 运行出错 求大佬帮忙

#include
#include
#include
#include

//定义全局变量
int isEmpty=0;//标志,判断链表是否为空

//!!!定义单链表结构体!!!
typedef struct Node{
int NUM;//类型总数
char NAME[100];//各类型名称
int num; //各类型下的货物总数
struct Node*next;
}Node;

//函数声明
Node*create(int n,Node*L);
Node*input(Node*L);
Node*output(Node*L);
Node*outnum(Node*L);
Node*outname(Node*L);
Node*current(Node*L);
void search(Node*L);
void print(Node*L);
void searchnum(Node*L);
void searchname(Node*L);
void display(Node*L);
//========新增加的函数========
Node*append(Node*L);

//主函数
void main()
{
int x;
int n;//初次输入的大小
Node *L;
if(!(L=(Node *)malloc(sizeof(Node)))) //分配空间
{
printf("\n");
exit(1);
}

printf("欢迎使用我的仓库管理系统!\n"); 
while(1);
{
    //主菜单开始 
    printf("==========================\n");
    printf("1.显示货物类型列表\n");
    printf("2.增加货物类型\n");
    printf("3.删除货物类型\n");
    printf("4.货物入库\n");
    printf("5.货物出库\n");
    printf("6.库存显示\n");
    printf("7.退出\n");
    printf("==========================\n");
    //主菜单结束
    printf("选择1-7:");
    scanf("%d",&x); 
    switch(x)
    {
        case 1:;break;
        case 2:create(n,L);break;
        case 3:;break;
        case 4:;break;
        case 5:;break;
        case 6:;break;
        case 7:;break;
        default:printf("input error!\nplaese input1-7");
    }       
}           

}

//函数
//1.创建链表节点
Node*create(int n,Node*L)
{
Node*pTail=L;
L->next=NULL;
Node*p;
p=(Node*)malloc(sizeof(Node));
if(p==NULL)
{
printf("申请内存空间失败!\n");
}

//利用尾插建立单链表
int i;
for(i=1;i<=n;i++)
{
printf("请输入第%d种类型编号:\n",i);
scanf("%d",&p->NUM);
printf("请输入第%d种类型名称:\n",i);
scanf("%s",&p->NAME);
printf("请输入第%d种类型库存:\n",i);
scanf("%d",&p->num);
pTail->next=p;
pTail=p;
}
p->next=NULL;
return L;
}
图片说明
欢迎下面就运行不了了

2个回答

在while(1)后面不用接";",直接大括号就可以了。如果你想无限循环的话 括号中直接true就行了 如果是判断性的,可以声名一个标识符。希望采纳。

把while后面分号去掉.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!