啥问题啊,能运行,但是会警告

img

警告信息里不是说得明明白白的吗
不要用这种不伦不类的翻译,还不如直接看英文

把程序贴出来呀


#include <stdio.h>
typedef int DataType;

typedef struct NodeT
    struct NodeType *next;
} lqnode;

typedef struct {
    lqnode *front, *rear;
} LinkQueue;
LinkQueue *q;

int chazhao(LinkQueue *q, int x);
int SetNULL(LinkQueue *q);
void AddQ(LinkQueue *q, DataType x);
void Add2Q(LinkQueue *q, DataType x);
DataType DelQ(LinkQueue *q);
DataType GetFront(LinkQueue *q);
DataType Getrear(LinkQueue *q);
int add();
void DisQ(LinkQueue *q);
void DaQ(LinkQueue *q);
int Length(LinkQueue *q);


void menu() {
    printf("\t\t*******************************\n");
    printf("\t\t\t0.退出\n");
    printf("\t\t\t1.首次排队取号\n");
    printf("\t\t\t2.再次排队取号\n");
    printf("\t\t\t3.业务办理结束\n");
    printf("\t\t\t4.目前正在办理业务的号码\n");
    printf("\t\t\t5.查看前方排队人数\n");
    printf("\t\t\t6.大荧幕\n");
    printf("\t\t\t7.排队人数\n");
    printf("\t\t*******************************\n");
}

int main() {
    int x;
    int choice;
    while (1) {
        menu();
        printf("请输入操作序号:");
        scanf("%d", &choice);
        switch (choice) {
            case 0:
                return 0;
            case 1:
                SetNULL(&q);
                AddQ(&q, &x);
                printf("目前排号为:\n");
                DisQ(&q);
                system("pause");
                system("cls");
                break;
            case 2:
                Add2Q(&q, &x);
                printf("正在办理业务的号码为:\n");
                printf("%d\n", GetFront(&q));
                printf("排队号码为:\n");
                DaQ(&q);
                system("pause");
                system("cls");
                break;
            case 3:
                DelQ(&q);
                printf("正在办理业务的号码为:\n");
                printf("%d\n", GetFront(&q));
                printf("排队号码为:\n");
                DaQ(&q);
                system("pause");
                system("cls");
                break;
            case 4:
                printf("正在办理业务的号码为:\n");
                printf("%d\n", GetFront(&q));
                system("pause");
                system("cls");
                break;
            case 5:
                printf("请输入您的号码:\n");
                scanf("%d", &x);
                printf("前方排队人数为%d\n", chazhao(&q, x));
                system("pause");
                system("cls");
                break;
            case 6:
                printf("正在办理业务的号码为:\n");
                printf("%d\n", GetFront(&q));
                printf("排队号码为:\n");
                DaQ(&q);
                system("pause");
                system("cls");
                break;
            case 7:
                printf("排队人数为%d\n", Length(&q) - 1);
                system("pause");
                system("cls");
                break;
            default:
                printf("您的输入有误,请重新输入!");
                system("pause");
                system("cls");
                break;
        }
    }
}

int chazhao(LinkQueue *q, int x) {
    lqnode *p;
    int count = 0;
    p = q->front->next->next;
    while (p) {
        if (p->data == x) {
            return count;
        } else {
            count++;
            p = p->next;
        }
    }
}

int SetNULL(LinkQueue *q) {
    lqnode *p;
    p = (lqnode *)malloc(sizeof(lqnode));
    p->next = NULL;
    q->front = p;
    q->rear = p;
    printf("初始化成功\n");
}

void AddQ(LinkQueue *q, DataType x) {
    lqnode *p;
    int y;
    printf("输入首次要办理业务的人数\n");
    scanf("%d", &y);
    for (x = 1; x <= y; x++) {
        p = (lqnode *)malloc(sizeof(lqnode));
        p->data = x;
        p->next = NULL;
        q->rear->next = p;
        q->rear = p;
    }
    printf("取号成功\n");
}

void Add2Q(LinkQueue *q, DataType x) {
    lqnode *p;
    int m = 1;
    for (x = add(); m <= 1; m++) {
        p = (lqnode *)malloc(sizeof(lqnode));
        p->data = x;
        p->next = NULL;
        q->rear->next = p;
        q->rear = p;

    }
    printf("取号成功\n");
}

DataType DelQ(LinkQueue *q) {
    lqnode *p;
    int x;
    if (q->front == q->rear) {
        printf("业务办理失败\n");
    } else {
        p = q->front->next;
        x = p->data;
        q->front->next = p->next;
        if (q->rear == p) {
            q->rear = q->front;
        }
        free(p);
        printf("业务办理成功\n");
        return x;
    }
}

DataType GetFront(LinkQueue *q) {
    lqnode *p;
    if (q->front == q->rear) {
        printf("无法提取,为空队\n");
    } else {
        p = q->front->next;
        return p->data;
    }
}

DataType Getrear(LinkQueue *q) {
    lqnode *p;
    if (q->front == q->rear) {
        printf("无法提取,为空队\n");
    } else {
        p = q->rear;
        return p->data;
    }
}

int add() {
    int x;
    x = Getrear(&q) + 1;
    return x;
}

void DisQ(LinkQueue *q) {
    lqnode *p;
    p = q->front->next;
    while (p) {
        printf("%d\n", p->data);
        p = p->next;
    }
}

void DaQ(LinkQueue *q) {
    lqnode *p;
    p = q->front->next->next;
    while (p) {
        printf("%d\n", p->data);
        p = p->next;
    }
}

int Length(LinkQueue *q) {
    lqnode *p;
    int count = 0;
    p = q->front->next;
    while (p) {
        count++;
        p = p->next;
    }
    return count;
}