[語法] 被問到一個問題 pointer
#define MIN(a, b) (((a) > (b)) ? (b) : (a))
int a=1,b=3;
int *pa=&a; --> a的 addr 0x0012f4bc
int c=0;
c=MIN(*pa++,b);
最後結果
pa=0x0012f4c4
非 0x0012f4c0
c=亂值=addr 0x0012f4c0 上沒意義的值
但是如果把b init 值改成-3
一切又正常
最後結果
c=-3
pa=0x0012f4c0
蠻奇怪的
有人可以解釋嗎
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.120.3.16
→
11/08 11:22, , 1F
11/08 11:22, 1F
推
11/08 11:24, , 2F
11/08 11:24, 2F
→
11/08 11:35, , 3F
11/08 11:35, 3F
→
11/08 11:38, , 4F
11/08 11:38, 4F
→
11/08 11:41, , 5F
11/08 11:41, 5F
→
11/08 11:52, , 6F
11/08 11:52, 6F
→
11/08 11:53, , 7F
11/08 11:53, 7F
→
11/08 12:44, , 8F
11/08 12:44, 8F
→
11/08 19:10, , 9F
11/08 19:10, 9F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章