[問題] 前繼++ 和後繼++
請問一下下列問題
原始碼是
int a[]={1,2,3,4,5,6,7,8,9,10};
int *p=a;
int i;
*(p++)+=123;
*(++p)+=123;
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("\n\n");
*(p++)+=123;
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
為什麼執行的結果
在第二次print的第3個值是249
124 2 126 4 5 6 7 8 9 10
124 2 249 4 5 6 7 8 9 10
這個我一直想不通 請教高手
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.178.182
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1418641525.A.D5A.html
→
12/15 19:14, , 1F
12/15 19:14, 1F
→
12/15 19:24, , 2F
12/15 19:24, 2F
推
12/15 21:13, , 3F
12/15 21:13, 3F
→
12/15 21:13, , 4F
12/15 21:13, 4F
→
12/15 21:20, , 5F
12/15 21:20, 5F
→
12/15 22:49, , 6F
12/15 22:49, 6F
推
12/16 00:31, , 7F
12/16 00:31, 7F
→
12/16 06:21, , 8F
12/16 06:21, 8F
→
12/16 08:06, , 9F
12/16 08:06, 9F
推
12/16 08:57, , 10F
12/16 08:57, 10F
→
12/16 20:48, , 11F
12/16 20:48, 11F
→
12/23 02:28, , 12F
12/23 02:28, 12F