为什么WHILE循环无法依次读取文件每一行数据?

clipboard.png
while(!feof(fp)){

fscanf(fp,"%d %s %s %d %d %d\n",&(staff[i].num),staff[i].name,staff[i].sex,&(staff[i].basepay),&(staff[i].extrapay),&(staff[i].day));
*j++;
i++;
}//上图的代码

很简单的代码,就是把txt中每一行的数据依次存入结构体数组中,用for循环有效,但是改成while循环就没用了怎么回事?

阅读 3.1k
1 个回答

一个低级错误,*j++要加括号,应该是(*j)++。虽然对问题没什么影响,但是让我误以为数据没有被传入结构体数组内。再加上之前运行了下搜索函数又报不存在,就以为数据没存进去。
另外编译器有点抽风,关了去看部电影回来,再运行下就好了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题