Ошибка 2D-массива c ++

Я пытаюсь запустить массив c ++ 2d (довольно простой файл), и он работает, но в конце появляется ошибка (по крайней мере, я думаю, что это ошибка).

Код для массива:

int myArray[10][10];
for (int i = 0; i <= 9; ++i){

    for (int t = 0; t <=9; ++t){

        myArray[i][t] = i+t; //This will give each element a value

    }

}

for (int i = 0; i <= 9; ++i){

    for (int t = 0; t <=9; ++t){

        cout << myArray[i][t] << "\n";

    }

это печатает массив правильно, но добавляет

"0x22fbb0"

в конце. Что это такое и почему это происходит?

11.12.2008 17:30:28
Это прекрасно работает для меня, и код выглядит солидно. Какой компилятор и систему вы используете?
e.James 11.12.2008 17:38:46
Можете ли вы создать небольшую полную программу с этой ошибкой, скопировать и вставить ее в свой вопрос? Ваша программа неполна, и в логике нет ничего плохого, возможно, вы выводите что-то еще потом?
Robert Gamble 11.12.2008 17:39:45
этот вопрос практически идентичен вашему другому вопросу (другой действительно содержал ошибку). Пожалуйста, закройте это.
Evan Teran 11.12.2008 21:06:12
2 ОТВЕТА
РЕШЕНИЕ

Ошибка не в коде, который вы опубликовали. у вас есть еще один кут после этого?

0x22 .... выглядит как адрес памяти, так что конкретно у вас может быть строка, которая читает

cout << myArray;

где-то.

5
11.12.2008 17:38:54
Спасибо, я бы просто по ошибке поместил cout << myArray позже вне цикла
user33061 11.12.2008 18:07:15

Код, который вы показали, пока хорош. Напечатанный адрес, кажется, не напечатан из этой части вашего кода. Я могу представить две ситуации для этого.

  • Вы случайно напечатали myArray [i] или myArray и забыли применить другой индекс. Когда значение массива преобразуется в адрес его первого элемента, оно вызывает печать адреса.
  • Вы случайно печатаете сам cout как cout << cout. cout имеет неявное преобразование в тип указателя (он используется для проверки нормального состояния, как в if(cout) { ... }), и это также приведет к печати адреса.

Это может быть совершенно другая ситуация. Можете ли вы вставить код, который появляется после двух циклов?

6
11.12.2008 17:39:10
это интересно о cout << cout :) никогда не думал об этом
Jimmy 11.12.2008 17:40:38