sicily 6773. 用指针交换两个矩阵
Description
请实现一个函数,用于交换两个M * N的int类型矩阵的所有数值,其函数原型如下:
void exchange(int **a, int **b, int M, int N);
Hint
注意:本题只需提交exchange函数的函数体,无需包含main函数以及其他部分代码,例如,只提交以下内容(仅供参考):
void exchange(int **a, int **b, int M, int N)
{
printf("I am a student from SYSU!\n");
}
可以用利用多维矩阵在底层连续存储的原理,只用一层循环做(不过如果测试用例的矩阵带冗余的话就不行,这个可以)。也可以用两层循环做,就是普通的当成二维数组
View Code
1 void exchange(int **a, int **b, int M, int N) 2 { 3 int temp; 4 int i; 5 int *ptr1 = *a; 6 int *ptr2 = *b; 7 8 for ( i = 0; i < M * N; i++ ) 9 { 10 temp = *(ptr1 + i); 11 *(ptr1 + i) = *(ptr2 + i); 12 *(ptr2 + i) = temp; 13 } 14 15 return; 16 }