Array打印的值与预期值不同

时间:2017-11-13 11:46:44

标签: c# arrays console console-application

我有一个问题 - 当我尝试声明在0行有0值的三维数组时,其他值方法会打印出与预期不同的数字。

应该是:

0 0 0 0 0 0 0 0 0 0 0
8 8 8 8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8 8 8 8

但程序打印:

8 8 8 8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8 8 8 8

以下是代码:

 //soldiers: 4 food: 10 fun: 8
printx(makeTable(soldiers, food, fun), soldiers, food);
 // ...
static public int[ , , ] makeTable(int soldiers, int food, int fun)
        {
            int[,,] table = new int[soldiers+1, food+1, fun+1];
             for (int i = 1; i <= soldiers; i++)
             {
                for (int j = 0; j <= food; j++)
                {
                table[i, j, 0] = 8;
            }
        }
        return table;
    }
    static public void printx(int[,,] input, int a, int b)
    {
        for (int i = 0; i <= a; i++)
        {
            Console.WriteLine(' ');
            for (int j = 0; j <= b; j++)
            {
                Console.Write("{0} ", input[a, b, 0]);
            }
        }
    }

我只想在没有第三维的情况下打印它。输入值[0,0,0]为0,因此写入方法有问题。

0 个答案:

没有答案