-6
#include<stdio.h>
int main() {
int a = 10;
int *p = &a;
int b = 800;
double d=547;
int c=900;
printf("a = %d\n", a);
printf("p = %p\n", p);
printf("*p= %d\n", *p);
p++;
//p = &b;
printf("a = %d\n", a);
printf("p = %p\n", p);
printf("*p= %d\n", *p);
return 0;
}
如果我打印增量后存储在p值为什么我得到900而不是800?我对指针增量有点困惑
[1]:强大的文本http://i.stack.imgur.com/HYrLA.png
_寻求调试帮助的问题(“为什么这个代码不工作?”)必须包含所需的行为,特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题陈述的问题对其他读者无益。请参阅:如何创建最小,完整和可验证的示例._ –
在此处发布您的代码,请勿链接到外部网站 –
您的代码应该发布且未链接,是UB。 'p'指向'a'并将指针移动到该对象的外部_Undefined behavior_ – LPs