2
在這個C代碼中,我嘗試將一個變量的指針地址分配給其他變量,然後再返回。地址分配中的問題
#include<stdio.h>
void change(int *x)
{
int *z;
z=x+5;
printf("%u\n",z);
x=z;
printf("%u\n",x);
}
int main()
{
int *p;
int y=2;
p=&y;
printf("%u\n",p);
change(p);
printf("%u\n",p);
return 0;
}
輸出是:
2280640
2280660
2280660
2280640
有人可以請解釋爲什麼是輸出2280640.的最後一行,我認爲它應該是2280660.
添加到什麼阿爾斯提到...你會那麼需要取消對它的引用裏面' void change(int ** x)'像這樣:'z = * x + 5;'和'* x = z;'。 – 2012-03-22 04:52:55