2次元配列を逆にしようとしていますが、コンパイラは正常に動作しますが、配列は最初と同じままです..
逆関数を呼び出す前と後に配列を出力しますが、変更が行われていないようです..
なぜですか?
コードは次のとおりです。
#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;
}
逆関数で問題を見つけることができますか??