0
作为赋值的一部分,我正在读取文件中的人员的姓名和ID,并将其保存在单独的链接列表中。我有一个嵌套的while循环遍历列表,直到到达结尾,然后在最后赋值。不幸的是,程序在阅读时不断崩溃,似乎围绕着第二个while循环。使用链接列表时失败While循环
这里是之前在main()
struct node
{
char name[50];
int id;
struct node *next;
}*start;
这里建立的结构是本身的功能:
void read()
{
int tempNum = 0, id, jack = 0;
char name[50];
struct node *temp, *right;
temp = start;
FILE *ifp = fopen("AssignmentOneInput.txt", "r");
while(fscanf(ifp," %s", &name) != EOF)
{
fscanf(ifp, " %[^,]s, %[^/n]d", &name, &id);
temp = (struct node *)malloc(sizeof(struct node));
strcpy(temp->name,name);
temp->id = id;
right = (struct node *)start;
printf("test number one\n");
while(right->next != NULL)
{
printf("test number two\n");
right = right->next;
}
printf("test number three\n");
right->next = temp;
right = temp;
right->next = NULL;
}
}
,将其作为主要功能的实现,这就是所谓的第一个功能,所以它看起来有点像:
main()
{
read();
用main()给我们一个完整的程序。告诉我们它的崩溃位置以及确切的消息。 – 2015-02-06 19:38:06
'node'的定义是什么? – Martin 2015-02-06 19:38:20
你是否曾经将节点的'next'初始化为NULL? – AndyG 2015-02-06 19:38:41