#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++人:为什么我的数组不工作?
这段代码有问题,但找不到它。只是试图从Java中学习C++中的数组。谢谢。
'的sizeof(得分)'是以字节为单位的阵列的长度。一个'int'使用多个字节。你需要除以sizeof(int)或sizeof(scores [0])或sizeof(* scores)'来获得元素的数量,无论哪一个漂浮在你的船上。 –
请注意,您可以使用基于范围的for循环来循环普通数组:'for(auto s:scores)total + = s;'。 – juanchopanza