0

我有一个二维数组,例如:

        // construct initial **array
        int **arr;
        arr = new int* [SIZE];
        for (int i = 0; i < SIZE; i++) {
            arr[i] = new int[SIZE];
        }

然后我用来自 cin 的输入填充数组,这工作正常。然而,当我通过 double for 循环迭代访问数组中的值时,我得到了不正确的值。

我已经打印出这些值,因为我正在将它们添加到以下内容中:

"Adding <int> to array position <row><col>"

例如,我正在存储 ints {{1,2,3}, {4,5,6}, {7,8,0}},但是当我去访问它们时,我得到了 values {{49,50,51}, {52,53,54}, {55,56,48}}

我有一种感觉,这是微不足道的,我只是不知道在哪里看。

4

2 回答 2

4

看起来您正在存储数字的ASCII值而不是它们的数值,例如字符1的 ASCII 值是 49。检查您用于读取输入的变量是否是数字类型而不是char.

于 2011-10-25T21:54:53.830 回答
1

在我看来,您正在获取字符的 ASCII 值——即,49 是“1”,50 是“2”,等等。

于 2011-10-25T21:56:43.120 回答