Scanf Int的分段错误

时间:2015-02-10 21:18:59

标签: c scanf

我不知道为什么我会遇到分段错误。我在网上看到的每个其他实例都有一个分段错误,因为scanf中的变量是一个指针。我不是,我仍然得到错误

#include<stdio.h>
#include<stdlib.h>

struct Node
{
        int grade;
        struct Node *next;
};

int main()
{
        int input;
        struct Node *head, *current;
        current = head;
        printf("Enter Grades: \n");
        do
        {
            scanf("%d",&input);
            current->grade = input;
            struct Node *new_node  = malloc(sizeof(struct Node));
            current->next = new_node;
            current = current->next;
        }while(input != -1);
        return 0;

        current = head;
}

1 个答案:

答案 0 :(得分:2)

这是这一行,而不是scanf

current->grade = input;

因为你没有为头部分配内存