我正在尝试在C语言中创建一个仅使用指针并在适当位置转置矩阵的函数。我无法完成。这是我到目前为止的代码:
void transpose(int matrix[ROWS][COLS]) {
for (int i = 0; i < 5; i++) {
for (int j=0;j<5;j++) {
int temp = *(*(matrix + i) + j);
*(*(matrix + i) + j) = *(*(matrix + j) + i);
*(*(matrix + j) + i) = temp;
}
}
}
您交换每件事两次。第二个循环应该是j for (int i = 0; i < 5; i++) {
for (int j=0;j<i;j++) {
int temp = *(*(matrix + i) + j);
*(*(matrix + i) + j) = *(*(matrix + j) + i);
*(*(matrix + j) + i) = temp;
}
}