所以我试图将一个列表从用户输入链接到他们自己的文件,但是当我尝试打印它只打印第一行时,我相信问题出现在我的代码片段的下方,我认为currp没有得到currp-下。
while ((fscanf( fpin, "'%[^']' %f %f %d" ,currp->name, &currp->cost,
&currp->weight, &currp->dam) ==4 ))
{
prev = currp;
currp->next = malloc(sizeof(item_t));
assert(currp->next);
currp = currp->next;
}
prev->next = NULL;
free(currp);
fclose(fpin);
return (itb);
答案 0 :(得分:1)
我猜currp确实会接下来,但你只是不分配它。 检查一下, 添加一个currp-> gt的printf作为整数 如果地址发生变化,它将代表它的地址 那么问题在于断言。