Причина получения значения мусора в C - PullRequest
0 голосов
/ 24 апреля 2019

Я запускаю этот код и получаю некоторое значение мусора при печати * ptr. В чем может быть причина и как я могу избежать этого?

# include <stdio.h>
int main()
{
  int test = 1; 
  int *ptr = &test;
  *ptr++ = 10; 
  test++; 
  printf("\nThe value is %d", *ptr);
}

Ответы [ 2 ]

4 голосов
/ 24 апреля 2019

Вы переехали ptr с ptr++. Почему?

Не делай этого.

0 голосов
/ 24 апреля 2019

Оператор *ptr++ увеличивает указатель, который не может быть действительным для вашей программы. Перепишите утверждение как *ptr = 10;

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