以下是我打的程式碼
#include <stdlib.h>
#include <stdio.h>
int main()
{
int times=0;
int NUM=123;
int *pNUM=&NUM;
while(times<5){
printf("%p>>>%d\n",pNUM,*pNUM);
pNUM+=1;
*pNUM=NUM;
times+=1;
}
system("pause");
return 0;
}
我的目標是把變數NUM的值123
也寫入NUM後面接的4個位址
假設NUM的位址是0x0001
那麼結果應該是:
0x0001 值→123
0x0005 值→123
0x0009 值→123
0x000d 值→123
0x0011 值→123
可是編譯器顯示的只有第一行,也就是
0x0001 值→123
為什麼會這樣呢?問題是否出在其實後面四個是無法寫入的?
菜鳥請各位高手指教orz