2

考虑给定的输入:

ID    Name             Num
--------------------------

213DA Andrews, Dennis; 6.9      // <--- cursor initially located on 2
283JB Brown, Joanne; 2.6
420JB Brown, Joanne; 0.0
339VL Lee, Victor; 3.6
126RW White, D. Robert; 3.5
150JM Marcus, John; 4.0
// more data with same format as above
// EOF

我想将每个存储在并行数组中:

char *id[];
char *name[];
double num[];

以下哪一项更好?

  1. 循环(直到 EOF){

    fgets读取单行

    解析每个字段。

    }

  2. 循环(直到 EOF){

    fscanf读书id[i]

    fscanf读书name[i]

    fscanf读书num[i]

    我++

    }

或者,我们是否有更高效(内存方面和/或处理速度方面)的方式来编写代码?

4

1 回答 1

0

我认为后者更好。因为它更容易阅读,更直接。至于效率,我觉得这两种方法差别不大,因为操作系统为我们做了很多。顺便说一句,我建议你使用 struct 类型来使代码更具可读性。

于 2013-03-12T10:45:14.080 回答