我正在尝试反转二维数组并且编译器工作正常,但数组仍然与开始时相同。
我在调用反向函数之前和之后打印了数组,但似乎没有发生任何变化。
为什么?
这是代码:
#include<stdio.h>
void reverse(int table[ ][5]){
int a,b,c,d;
int temp = 0;
for(a=0,c=3;a<=3;a++,c--){
for(b=0,d=4;b<=4;b++,d--){
temp = table[a][b];
table[a][b]= table[c][d];
table[c][d]= temp;
}
}
}
int main(int argc,char *argv[]){
int i,j;
int table[4][5];
for(i=0;i<=3;i++){
for(j=0;j<=4;j++){
scanf("%d",&table[i][j]);
}
}
for(i=0;i<=3;i++){
for(j=0;j<=4;j++){
printf(" %d",table[i][j]);
}
}
printf("\n");
reverse (table);
for(i=0;i<=3;i++){
for(j=0;j<=4;j++){
printf("%d ",table[i][j]);
}
}
return 0;
}
你能在反向函数中找到问题吗?