xq734536013
热爱学习的呆萌的文青
2015-12-18 03:16

c语言单向链表的问题???

  • c
  • 单链表
 #include<stdio.h>
#include<stdlib.h>
struct node{
    int num;
    struct node *next;
};

//构建空的链表
struct node* InitList(struct node *L){
    L = (struct node*)malloc(sizeof(struct node));
    L = NULL;
    printf_s("InitList sucess!");
    return L;
}
//创建单链表
struct node* CreateList(struct node *L,int n){
    struct node *temp,*p;
    L = (struct node*)malloc(sizeof(struct node));
    L->next = NULL;
    temp=L;
    for (int i = 0; i < n; i++){
        p = (struct node*)malloc(sizeof(struct node));
        scanf_s("%d", &p->num);
        temp->next = p;
        temp = p;
    }
    temp->next = NULL;
    return L;
}
void PrintList(struct node *L){
    struct node *temp = L;
    while (temp != NULL){
        printf_s("%d", temp->num);
        temp = temp->next;
    }
}
void PrintMenu(){
    printf_s("------Menu------\n");
    printf_s("0  InitList\n");
    printf_s("1  CreateList\n");
    printf_s("2  PrintList\n");
}
void main(){
    int n,c;
    struct node *La;
    PrintMenu();
    printf_s("Enter the command: ");
    scanf_s("%d", &c);
    switch (c){
    case 0:
        La = InitList(La);
        break;
    case 1:
        printf_s("Enter the number of LinkList: ");
        scanf_s("%d", &n);
        La = CreateList(La, n);
        break;
    case 2:
        PrintList(La);
        break;
    default:
        printf_s("ERROR,Enter again: ");
        break;
    }
    system("pause");
}

为什么主函数case 0 的La = InitList(La); 这句报错: error C4700: uninitialized local variable 'La' used。 ????

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

3条回答