我是一個完整的初學者,我正在練習將數組傳遞給函數。我編寫了一個程序,將二維數組作爲輸入並找出各個列的總和。 當我編譯程序時我沒有任何錯誤,但是一旦我運行它,我就會看到一個對話框,顯示「untitled5.exe停止工作」,其中untitled5是文件名。 我得到了這個錯誤不少次。我已經使用dev C++和codeblocks來編譯我的程序,所以這是什麼原因?這是我的代碼,編譯器還是筆記本電腦的問題?將數組傳遞到函數,file.exe停止工作
#include<stdio.h>
void summation (int arr[][5], int size);
int main()
{
int n,arr[n][5],sum,i,j;
printf("enter the number of rows");
scanf("%d",&n);
for (i=0;i<n;i++)
{
for (j=0;j<5;j++)
{
printf("%d,%d th element is",i,j);
scanf("%d",&arr[i][j]);
}
}
summation (arr,5);
return 0;
}
void summation (int arr[][5], int size)
{
int i,j,s=0;
for(j=0;j<5;j++)
{
for (i=0;i<5;i++)
{
s=s+arr[i][j];
}
printf("%d",s);
}
}
n在數組定義之前未被初始化,這就是爲什麼 – Pooya