全部问题 > 当前问题

为啥是M不是n

#include <stdio.h>


#define  M   5

/************found************/

int  fun(int  n, int  xx[][M])

{  int  i, j, sum=0;

  printf( "\nThe %d x %d matrix:\n",M,M);

  for( i = 0; i < M; i++ )

  {  for( j = 0; j < M; j++ )

/************found************/fun函数定义的形参形式不是n吗。是不是因为M是常量,n是变量才弄得M

      printf( "%d ", xx[i][j] );

    printf("\n");

  }

  for( i = 0 ; i < n ; i++ )

    sum += xx[i][i]+xx[i][ n-i-1 ];

  return( sum );

}


main( )

{  int  aa[M][M]={{1,2,3,4,5},{4,3,2,1,0},

 {6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};

  printf ( "\nThe sum of all elements on 2 diagnals is %d.",fun( M, aa ));

}


飘落的共和国旗 2016-8-10 13:56:53

共 2 个回答

嘿嘿大人 2016-8-10 22:41:28

M是宏定义,只是为了方便而已,你要不想要,改为n也不影响啥

飘落的共和国旗 2016-8-11 08:52:52

回复 嘿嘿大人:但是n 是变量啊。可以用n吗

问题来自: 二维数组