输出格式错误

时间:2017-03-13 04:33:43

标签: c

submit

输出文件格式不正确。我不知道附件的来源。

Output file

1 个答案:

答案 0 :(得分:1)

您的输入文件显然有一个标题:

Name MatricNo A B

在第一次迭代中,fscanf成功读取字符串变量namematricno;然而,阅读数字失败,因为它看到A。因此,它打印namematricno,为值NameMaricNo,并打印未初始化的整数A和B的值,因此是垃圾。

在第二次迭代中,fscanf继续它停止的地方并读取字符串AB(标题的最后一部分),但再次读取整数失败。所以它现在打印AB以及变量A和B的酉值。

现在所有内容都会再次同步,并将其余内容打印出来。

所以你应该检查fscanf的返回值。此外,while (feof))错误,因为它告诉您读取操作遇到EOF 。因此,它不会告诉您文件中是否还有某些内容,您认为feof会这样做。最后,将数组传递给函数会导致编译器将该数组的地址赋给函数,因此不要在调用fscanf之前将&放在namematricno之前(编译器显然忽略了它,但可能会发出警告)。