Указатели и новый оператор - PullRequest
       11

Указатели и новый оператор

0 голосов
/ 26 октября 2019

Я работаю над упражнением и не могу понять, что происходит не так. Подсказка гласит: «Переменная cp_arr была объявлена ​​как массив из 26 указателей на char. Выделите 26 символьных значений, инициализированных буквами от« A »до« Z », и назначьте их указатели на элементы cp_arr (в таком порядке). "

Редактировать: это сообщение было помечено как дубликат к сообщению с указателями и строками, это не та же проблема.

Во время тестирования кода это то, что япридумать, но результат не совсем то, что я ожидал.

#include <iostream>
using namespace std;

int main()
{
    char next = 'A';
    char* cp_arr[26];
    for (int i = 0; i < 26; i++)
    {
        cp_arr[i] = new char(next);
        cout << cp_arr[i] << endl;
        next++;
    }
    system("pause");
}

1 Ответ

1 голос
/ 26 октября 2019

cp_arr[i] - это указатель на символ, который интерпретируется (согласно глубоко встроенному соглашению) как указатель на строку C. Если вы хотите вывести только один символ, на который он указывает, сделайте это:

cout << *cp_arr[i] << endl;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...