需要清楚一点的是fscanf函数是有返回值的,你需要判断返回值是否等于自己要赋值的变量的个数,只有等于才是有效的调用,否则该调用的结果应该丢弃。如:if(1 == fscanf(fp, "%d", &i))if(2 == fscanf(fp, "%d %d", &i, &j))等。
while(fscanf(…)){ //其他}尽量避免feof,否则会有意想不到的错误