Проблема в области поведения массива похожа на указатель - PullRequest
0 голосов
/ 21 января 2019

Я учу C ++.

И я подумал, что Array[i]=*(Array+i).

В приведенном ниже коде, если мы удалим фразу в комментариях (для цикла)

*(x+1) Не равно, когда (For-Loop) существует. мой компилятор mingw.

main()
{
    int x[10];
//////////////////////////////////////////////////////////////////
for(int i=0;i<=9;i++)
    cout<<"x"<<"["<<i<<"]"<<"--->"<<x[i]<<endl;
//////////////////////////////////////////////////////////////////  
cout<<*(x+1);

}

Я ожидал, что вывод *(x+1) будет одинаковым до и после удаления для.

спасибо и извините за мою грамматику.

1 Ответ

0 голосов
/ 21 января 2019

Проблема в том, что x в автоматической локальной переменной и никогда не инициализируется. Содержимое элементов массива: неопределенное .

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...