for(int i=1;i<SIZE+1;i++)
        {
            chessboard[i][0]=(char)i;
            chessboard[0][i]=(char)i;
        }
chessboard是一个char型二维数组。为何此段代码不能给数组正确赋值,请高人指点,不胜感激!!!

解决方案 »

  1.   

    你给的条件描述不够清楚,不太明白你的意思。不过,有两个问题:
    1. 你的这个 chessboard[][]初始化了吗?
    2. SIZE 是不是你的数组的维数?如果是的话,要注意,数组是从 0 开始计数的,所以你的循环 for (int i = 1, i < SIZE + 1; i++) 恐怕根本就不对。 int size = 10;
    int chessboard[][] = new int[size][size];
    for(int i= 0;i < size;i++)
            {
                    chessboard[i][0]=(char)i;
                    chessboard[0][i]=(char)i;
            } 这是可以赋值的
      

  2.   

    换成 char 也是一样的道理
    int   size   =   10;
    char chessboard[][]   =   new char[size][size];
    for(int i= 0; i < size; i++)
    {
        chessboard[i][0]=(char)i;
        chessboard[0][i]=(char)i;
    }   不过好像 数字 0 到10 对于的 char,都是不可打印字符哦
      

  3.   

    不知道你说的不能给数组正确赋值是不是, chessboard[i][0]=(char)i; 
    chessboard[i][0]存的并非i而是一些特殊字符。如果你想存在chessboard里的就是i的话,
    我想用int型来定义chessboard会更好。
      

  4.   

    谢谢楼上的回答
    我已经知道问题出在哪了
    我是想做下面的事,比如说,
    i=1,我想通过(char)i后让i变为‘1’;
    就在这里理解错了。