我不知道为什么我会遇到分段错误。我在网上看到的每个其他实例都有一个分段错误,因为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;
}
答案 0 :(得分:2)
这是这一行,而不是scanf
current->grade = input;
因为你没有为头部分配内存