我已经为此苦苦挣扎了一段时间。希望有人可以提供帮助。开始。我有在嵌套 for 循环中初始化的二维数组。如果数组 mod (%) 2 的维度是偶数 (d%2 == 0),我想将数组矩阵中的元素 2 和元素 1 相互交换。
我正在努力解决的另一个想法是,我可以简单地将 1 和 2 显式分配给 for 循环内数组的索引,而不是执行交换。
这是我到目前为止所拥有的代码..我感谢任何有助于我找到正确解决方案的输入..
if (d % 2 == 0)
{
for (row_i = 0; row_i < d; row_i++)//loops through rows
{
for(col_j = 0; col_j < d; col_j++) //loops through column
{
board[row_i][col_j] = multi_dim--;
if(board[row_i][col_j] == 2 && board[row_i][col_j] == 1)
{
int hold = board[d][d -2];
board[d][d - 2] = board[d][d - 1];
board[d][d - 1] = hold;
}
printf(" %2d ", board[row_i][col_j]);
}
printf("\n");
}
}
最佳答案
if(board[row_i][col_j] == 2 && board[row_i][col_j] == 1)
这个测试总是错误的。您要求同一个变量“board[row_i][col_j]”同时为 2 和 1。
关于c - 尝试在嵌套 for 循环内交换二维数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35566985/