C语言 fscanf函数 文件导入到链表问题 明明文件里有4行 只导入了1行
答案:1 悬赏:50 手机版
解决时间 2021-02-01 01:09
- 提问者网友:流星是天使的眼泪
- 2021-01-31 17:54
C语言 fscanf函数 文件导入到链表问题 明明文件里有4行 只导入了1行
最佳答案
- 五星知识达人网友:怀裏藏嬌
- 2021-01-31 19:27
怀疑是下面出了问题:
fscanf(fp,"%d %s %s %f %d\n",&s->id,&s->name,&s->brand,&s->price,&s->count)
name和brand应该是字符数组吧,那应该就不用在前面加&号了。换成这样:
fscanf(fp,"%d %s %s %f %d\n",&s->id, s->name, s->brand,&s->price,&s->count)追问我改了下,可以导入,但4行 只导入了最后一行进来, 是不是我的节点搞错了?追答应该是p一直跟着往后移,结果p也成了最后一个结点,而把最开始的结点丢掉了。
p->next=s; p=s;追问这里应该没问题呀! 因为头节点 H没动 p=H; 然后是p在操作, 能帮我修改下吗?追答我晕我晕我狂晕~!
你的while循环最后有个分号。把这个分号去了。
fscanf(fp,"%d %s %s %f %d\n",&s->id,&s->name,&s->brand,&s->price,&s->count)
name和brand应该是字符数组吧,那应该就不用在前面加&号了。换成这样:
fscanf(fp,"%d %s %s %f %d\n",&s->id, s->name, s->brand,&s->price,&s->count)追问我改了下,可以导入,但4行 只导入了最后一行进来, 是不是我的节点搞错了?追答应该是p一直跟着往后移,结果p也成了最后一个结点,而把最开始的结点丢掉了。
p->next=s; p=s;追问这里应该没问题呀! 因为头节点 H没动 p=H; 然后是p在操作, 能帮我修改下吗?追答我晕我晕我狂晕~!
你的while循环最后有个分号。把这个分号去了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯