关于c语言二维数组问题

2024-12-03 18:03:26
推荐回答(4个)
回答1:

#include"stdio.h"
#include"string.h"
int main()
{
 int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},i,j;
 int t;  //
 for(i=0;i<4;i++)
 {
 for(j=0;j<4;j++)
 printf("%-3d",a[i][j]);
 printf("\n");
    }
    for(i=0;i<4;i++)
    for(j=0;j    {   
     t=*(a[i]+j);   //交换的应该是内容而不是地址
     *(a[i]+j)=*(a[j]+i);
     *(a[j]+i)=t;
     
    }
     printf("\n互换后:\n");
    for(i=0;i<4;i++)
 {
 for(j=0;j<4;j++)
 printf("%-3d",*(a[i]+j));
 printf("\n");
    }
}

回答2:

#include"stdio.h"
#include"string.h"
int main()
{
 int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},i,j;
 int t;
 for(i=0;i<4;i++)
 {
 for(j=0;j<4;j++)
 printf("%3d",a[i][j]);
 printf("\n");
    }

    for(i=0;i<4;i++)
    for(j=0;j    {   
     t = a[i][j];
     a[i][j] = a[j][i];
     a[j][i] = t;
     
    }
    
    for(i=0;i<4;i++)
 {
 for(j=0;j<4;j++)
 printf("%3d",a[i][j]);
 printf("\n");
    }
}

回答3:

等号左边不应该加星号(*)吗?

回答4:

这样表示的是一个地址吧?