N*N阶二维数组,主对角线乘2次对角线乘3,将变化后的数组存入指针当中

 

int fun(int a[N][N],int *p){
    int i,j,t;
    for(i=0;i<N;i++){
        *(p+i)=a[i][i]*2;
    }
    t=i;
    for ( i=0; i < N; i++)
    for (j=0 ; j < N; j++)
        if (i+j == N)
        *(p+t+i)=a[i][j]*3;
}

 

解释一下主对角线和次对角线吧,百度一下,懂了

void fun(int a[N][N],int *p)
{
    int i,j;
    for(i=0;i<N;i++)
    {
       *p = a[i][i]*2;
        p++;
    }
    for(i=0;i<N;i++)
    {
        *p = a[i][N-i-1]*3;
        p++;
    }
}