假设我有一个 char 数组 maze[][] 它包含以下内容:
P . X X .
. X . . .
. . . X .
X X T . .
. . X . .
我正在编写一个函数,如果你想向下移动,会将“P”从 maze[0][0] 带到 maze[1][0],然后带上“.”。从迷宫[1][0] 到迷宫[0][0] 等等......
基本上如何在 char 数组中交易 2 个索引处的值?
在任意两个变量中切换值的方式相同:使用临时变量并使用三个赋值进行交换:
char tmp = maze[r1][c1];
maze[r1][c1] = maze[r2][c2];
maze[r2][c2] = tmp;
尝试这个 :
char temp = maze[1][0];
maze[1][0] = maze[0][0];
maze[0][0] = temp;
更概括的形式:
void trade(char[][] maze,int r1,int c1,int r2,int c2){
char temp = maze[r2][c2];
maze[r2][c2] = maze[r1][c1];
maze[r1][c1] = temp;
}
您可以使用临时变量进行更改并交换数组元素的值
char temp = maze[row1][column0];
maze[row1][column[0] = maze[row2][column2];
maze[row2][coumn2] = temp;