我正在运行此代码并在打印* ptr时获得一些垃圾值。可能的原因是什么,我怎么能避免这样做呢?
# include <stdio.h>
int main()
{
int test = 1;
int *ptr = &test;
*ptr++ = 10;
test++;
printf("\nThe value is %d", *ptr);
}
你用ptr
移动了ptr++
。为什么?
不要那样做。
语句*ptr++
递增指针,该指针对您的程序无效。将该语句重写为*ptr = 10;