0

所以我试图从用户输入他们自己的文件将一个列表链接在一起,但是当我尝试打印它时只打印第一行,我相信问题出在我的代码片段下面的某个地方,我认为 currp 没有得到 currp-next .

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);
4

1 回答 1

1

我猜 currp 确实得到了下一个,但你只是不分配它。只需检查它,将 currp->next 的 printf 添加为整数 如果地址更改,它将表示它的地址 那么问题出在断言中。

于 2013-11-07T02:30:07.413 回答