亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

我有個問題,請求各位大佬解答。

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;

}


正在回答

1 回答

你做的不是n維數組,是n行n列的二維數組。

二維數組定義的時候,可以不指定行的數量,但是必須指定列的數量。

#include <stdio.h>

int diasum(int arr[][5],int n)

{

int i,j;

int sum = 0;

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;

}

int main()

{

int arr1[][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(arr1,5);

return 0;

}


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21532    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

我有個問題,請求各位大佬解答。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號