谁能把这个给解决了,很奇怪!
编写一个函数,是给定的一个二维数组(3*3)转置,即行列互换!#include "stdafx.h"
#include<stdio.h>
#define N 3
int array[3][3];
void convert(int array[][3])
{
int i,j,t;
for(i=0;i<N;i++)
{
for(j=i+1;j<N;j++)//请大家注意这里,这里为什么用j=i+1???我把它改成j=i,编译后得到的结果一样,不是应该是j=0,才对的吗
{
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}
}
int main(int argc, char* argv[])
{
int i,j;
printf("\ninput array:\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
scanf("%d",&array[i][j]);
}
printf("\noriginal array:\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%5d",array[i][j]);
printf("\n");
}
convert(array);
printf("convert array:\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%5d",array[i][j]);
printf("\n");
}
return 0;
}
请大家给说一下!谢谢哦!