我需要編寫一個腳本來計算數字1-9出現在數組中的次數。但是當我運行腳本時,它會打印非常大的數字。例如:意外地訪問隨機內存,C++
0:1; 1:65538; 2:32737; 3:-1697300255; 4:1; 5:4197244; 6:3; 7:6299100; 8:32772; 9:6
不確定錯誤在哪裏。
#include <iostream>
using namespace std;
void count_numbers(int array[4][4])
{
int num_0, num_1, num_2, num_3 ,num_4, num_5, num_6 , num_7 ,num_8 , num_9 = 0;
int i, j = 0;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
switch(array[i][j]){
case 0:
num_0++;
case 1:
num_1++;
case 2:
num_2++;
case 3:
num_3++;
case 4:
num_4++;
case 5:
num_5++;
case 6:
num_6++;
case 7:
num_7++;
case 8:
num_8++;
case 9:
num_9++;
}
}
}
cout << "0:" << num_0 << ";1:" << num_1 << ";2:" << num_2 << ";3:" << num_3 << ";4:" << num_4 <<";5:" << num_5 << ";6:" << num_6 << ";7:" << num_7 << ";8:" << num_8 << ";9:" << num_9 <<endl;
}
#ifndef WEBSUBMIT
int main()
{
int array[4][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
count_numbers(array);
}
#endif //WEBSUBMIT