用二维数组将
123
456
789
调整为
147
258
369
代码如下
static void Main(string[] args)
{
int[,] a = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
Console.WriteLine("------原始数组------");
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
Console.Write(a[i, j]+" ");
}
Console.WriteLine();
}
int temp;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < i; j++)
{
temp = a[i, j];
a[i, j] = a[j, i];
a[j, i] = temp;
}
}
Console.WriteLine("------调换之后的数组------");
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
Console.Write(a[i, j] + " ");
}
Console.WriteLine();
}
Console.Read();
}
这段代码中我有两个地方不理解
temp变量可以不可以省略,如果不可以为什么?
在交换数组元素位置的双重for循环中第二层循环中设定变量j<i,这样当第一层for循环中i=0时,第二层for循环是不执行的,也就是a[0,1]/a[0,2]这两个元素无法将其位置更换到a[1,0]/a[2,0]位置,可是运行为什么没有错误?
麻烦老师讲解一下,谢谢