-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