#include <iostream>
using namespace std;
int main() {
int scores [9] = { 100, 80, 60, 75, 95, 65, 85, 40, 70 };
int total = 0;
for (int i = 0; sizeof(scores); i++) {
total += scores[i];
}
double average = (double) total/sizeof(scores);
cout << average << endl;
cin.get();
return 0;
}
エラーメッセージ:TestProject.exeの0x002918F5で例外がスローされました。0xC0000005:0x003A0000という場所を読み取るアクセス違反。Noob C++ person:なぜ私の配列は機能しませんか?
このコードに問題がありますが、見つかりません。ちょうどJavaから移ってC + +で配列を学ぶことを試みる。ありがとう。
'のはsizeof(スコア)は'バイトの配列の長さです。 'int'は1バイト以上を使用します。要素の数を取得するには、sizeof(int)またはsizeof(score [0])またはsizeof(* score)で分割する必要があります。 –
ループの範囲に基づいてプレーンな配列をループすることができます: 'for(auto s:scores)total + = s;'。 – juanchopanza