已有11人关注
二维数组问题
还有0人有此问题
发表在C#视频课程答疑 2018-04-27
是否精华
版块置顶:

用二维数组将

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();
        }

这段代码中我有两个地方不理解

  1. temp变量可以不可以省略,如果不可以为什么?

  2. 在交换数组元素位置的双重for循环中第二层循环中设定变量j<i,这样当第一层for循环中i=0时,第二层for循环是不执行的,也就是a[0,1]/a[0,2]这两个元素无法将其位置更换到a[1,0]/a[2,0]位置,可是运行为什么没有错误?

    麻烦老师讲解一下,谢谢

分享到:
精彩评论 3
小禾斗
学分:7338 LV13
TA的每日心情
奋斗
2017-04-21 14:00:25
2018-05-04
沙发

读者朋友:

  您好,temp是临时变量,不可以省略,你可以插入断点一步步执行看一下。

Bill_1548033287
学分:3 LV1
2019-01-25
板凳

老师这个二维数组使用课程我也没明白。

疑问1,临时变量temp记录原始数据,改变数据后又把temp原始数据赋给了改变之后的,那和没变一样啊。

我举个简单的例子;

int a=1; //原始数据

int temp =a; //记录原始数据

int b=2;

a=b;  //改变原始数据

b=temp; //不明白这句话什么意思。现在a已经变成新数据2了,在把临时变量temp赋给b有什么意义?



小禾斗
学分:7338 LV13
TA的每日心情
奋斗
2017-04-21 14:00:25
2019-01-26
地板

Bill_1548033287 发表于2019-01-25 17:20

老师这个二维数组使用课程我也没明白。

疑问1,临时变量temp记录原始数据,改变数据后又把temp原始数据赋给了改变之后的,那和没变一样啊。

我举个简单的例子;

int a=1; //原始数据

int temp =a; //记录原始数据

int b=2;

a=b;  //改变原始数据

b=temp; //不明白这句话什么意思。现在a已经变成新数据2了,在把临时变量temp赋给b有什么意义?



交换两个变量的值。

首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照