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]

    i++

    }

または、コードを書くためのより効率的な (メモリに関しておよび/または処理速度に関して) 方法はありますか?

4

1 に答える 1

0

後者の方が良いと思います。より読みやすく、より簡単だからです。効率に関しては、OS が多くのことをしてくれているので、2 つの方法に大きな違いはないと思います。ところで、コードを読みやすくするために構造体型を使用することをお勧めします。

于 2013-03-12T10:45:14.080 に答える