在C中获取垃圾值的原因

问题描述 投票:0回答:2

我正在运行此代码并在打印* ptr时获得一些垃圾值。可能的原因是什么,我怎么能避免这样做呢?

# include <stdio.h>
int main()
{
  int test = 1; 
  int *ptr = &test;
  *ptr++ = 10; 
  test++; 
  printf("\nThe value is %d", *ptr);
}
c pointers
2个回答
4
投票

你用ptr移动了ptr++。为什么?

不要那样做。


0
投票

语句*ptr++递增指针,该指针对您的程序无效。将该语句重写为*ptr = 10;

© www.soinside.com 2019 - 2024. All rights reserved.