A. 关于C语言中,链表数据的文件储存和提取。

do
{
fwrite(pinput,sizeof(struct fac),1,fp);
pinput=pinput->next;
}
while(pinput->next!=NULL);
这个理来解了,你那个就不难解源决了啊。现在你要写最后一个结点信息,加入执行
pinput=pinput->next;这句后pinput就指向了最后一个结点,此时你还没写它。可是接下来的
while判断就让你退出了循环,你可以将while改成while(pinput==NULL);

第二个问题,可以用while循环啊,判断条件就是读到文件尾部就退出。
while(!feof(fp))
{
fscanf(); //你从磁盘读数据,fp会自动移动
}
这种形式。