- 締切済み
fscanfについて質問です。
さっそく質問させていただきます。 fscanfで、どうしても納得いかないことがあります。 どのように説明して良いのか分からないのでソースを書きます。 (説明用にアレンジ) ------------------------------------------------------ double a[10000][10] // この程度のサイズの配列 for(i=0;i<10000;i++){ for(j=0;j<10;j++){ // これでは実行時エラー(i=0,j=0の時) fscanf(fp,"%lf",&a[i][j]); // これならOK double buffer; fscanf(fp, "%lf", &buffer); a[i][j] = buffer; } } ------------------------------------------------------ なぜこのようになるのか理由がわかりません。 もしご存知の方がいらっしゃいましたら、 ぜひ教えていただきたいのですが。 私はWINDOWS2000&VC++6を使っております。 よろしくお願いします。
お礼
いえいえ、ほんとうにありがとうございます。 >なぜエラーが起こるのか解明してみたいものですね。 >もちろん、あなたがこれで良いというならそれまでですが。 そうなんです。 buffer使えば動く!って経験的に知っているということは、 実際に動いてなんぼの世界ではもちろん大事なことだと思うのですが、 だからそうしときなさい!では納得いかないんですよね。 それで、ここに質問させて頂いたという次第であります。 それに、本来いらないはずの変数を用意するのは抵抗ありますよね。 なんだかCのもつエレガントさというか魅力を損ねているような気がして。 また少しづつ勉強して、原因を解明したいと思います。 どうもありがとうございました。