我有个问题,请求各位大佬解答。
C中怎么定义N维数组,,我本来想做个N维数组对角线元素之和的,编译完之后发现定义函数时候,形参定义成arr[][]好像不对,所以想到定义N维数组怎么定义。是arr[][]...[]么......
顺便把失败的代码贴一下吧。
#include <stdio.h>
#include <stdlib.h>
int diasum(int arr[n][n]...[n])
{
int n;
int i,j;
int sum;
int arr[n][n]={{1,2,...,n},{1,2,...,n},...,{1,2,...,n}};
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(i==j||(i+j)==n-1)
{
sum+=arr[i][j];
}
}
}
printf("对角线元素之和是%d\n",sum);
return 0;
}
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int arr[5][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};
diasum(arr[5][5]);
return 0;
}