私はCを使用しています。fscanf関数のポインタの使用に問題があります。私がしようとすると:fscanfのポインタに関する質問
int *x;
/* ... */
fscanf(file, "%d", x[i]);
私のコンパイラは私に、コードちょうど私が「Water.exeは動作を停止しました」というメッセージが表示されます(実行されません「形式の引数はポインタではありません」と言って警告を与えます)。 xを* xに置き換えると、コンパイルされません...これは単なる構文上の問題ですか?
「...」で重要なことが起こっていると思われます。あなたがそれを行うために得ることができる最小限のプログラムの完全版をあなたに教えてください。それはプログラムをコピーし、エラーを取り除きながら可能な限り削除します。 – dmckee
また、そのversinoに何をしたいかを明記してください。あまりにも多くの "動作しません"。 –
'* x'と' x [i] 'はどちらも' int'型であり、 'fscanf(file、"%d "...)によって期待通りに' int * '型ではありません。ですから、これは基本的に構文エラーです。 'fscanf(file、"%d "、&x [i])'またはそれに相当する 'fscanf(file、"%d "、)と書いたければ、 x + i) 'となる。 – RBerteig