Ошибка в работе с указателем

157
03 августа 2018, 01:10

В программе массив должен заполниться числами от 0 до 9 и после этого, отсчитывая от указателя, (который, как известно, ссылается всегда на 1 элемент массива), вывести все значения на экран

#include<iostream>
using namespace std ;
int main()
{
    int t[10], *n ;
    n=&t;
    for(int i = 0 ; i<10 ; i++)
        {   t[i]=i ;}

Как вывести на экран числа? Как надо дописать?

Answer 1

Начнем с того, что у вас присутствует ошибка: n является указателем на первый элемент массива после желаемого присвоения, а &t это указатель на массив, поэтому присвоение n=&t; поменяйте на n = t; а для вывода

while (n != t + 10)
        std::cout << *n++ <<' ';

и в конце не забудьте возвращать нулевое значение и скобочки функции main закрыть:

return 0;
}
Answer 2
for(int i = 0; i < 10;i++){
    n = t + i;       
    cout<<*n;
}

как это работает:

t = t[0]

t + 1 = t[1]

t + 2 = t[2]

и так далее

READ ALSO
Проблема с ARcore

Проблема с ARcore

Учу ARcore, но кроме сайта разработчика (на котором достаточно мало материалов), не могу найти ни одной книги и ни одного урокаПосоветуйте, пожалуйста,...

154
Проблема с отображением картинки в WebView

Проблема с отображением картинки в WebView

После попытки загрузки картинки в WebView выходит ошибка E/libEGL: validate_display99 error 3008 (EGL_BAD_DISPLAY) И на месте где должна быть картинка белый квадратМожно...

142
NPE при попытке reader.readLine;

NPE при попытке reader.readLine;

Дан файл, в котором построчно хранятся данные вида:

181
Проблема с Mockito тестированием

Проблема с Mockito тестированием

Есть класс (HttpServletRequest - интерфейс)

185