[問題] 請問一個指標問題
各位好
我在網路上看到一個題目
下面程式碼compiler有過
執行結果為印出5
int main(void)
{
int *a,*b;
a = (int *)1;
b = (int *)1;
printf(”%d\n”,a+(int)b);
return 0;
}
我不是很了解a+(int)b正確答案是: 1 + sizeof(*a)*(int)b = 1 + 4*1 = 5;
實際上跑的結果是這種解釋沒錯
a+(int)b到底可以怎樣解釋??
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.121.34.11
→
03/05 20:58, , 1F
03/05 20:58, 1F
推
03/05 21:32, , 2F
03/05 21:32, 2F
→
03/05 21:39, , 3F
03/05 21:39, 3F
推
03/05 21:44, , 4F
03/05 21:44, 4F
→
03/05 21:45, , 5F
03/05 21:45, 5F
→
03/05 21:54, , 6F
03/05 21:54, 6F
→
03/06 01:02, , 7F
03/06 01:02, 7F
推
03/06 01:13, , 8F
03/06 01:13, 8F
→
03/06 01:27, , 9F
03/06 01:27, 9F
→
03/06 01:27, , 10F
03/06 01:27, 10F
推
03/06 01:47, , 11F
03/06 01:47, 11F
→
03/06 01:47, , 12F
03/06 01:47, 12F
→
03/06 01:48, , 13F
03/06 01:48, 13F
→
03/06 01:50, , 14F
03/06 01:50, 14F
→
03/06 01:52, , 15F
03/06 01:52, 15F
→
03/06 01:53, , 16F
03/06 01:53, 16F
→
03/06 01:57, , 17F
03/06 01:57, 17F
→
03/06 02:11, , 18F
03/06 02:11, 18F
推
03/06 02:19, , 19F
03/06 02:19, 19F
→
03/06 02:24, , 20F
03/06 02:24, 20F
→
03/06 02:26, , 21F
03/06 02:26, 21F
→
03/06 02:27, , 22F
03/06 02:27, 22F
→
03/06 02:27, , 23F
03/06 02:27, 23F
→
03/06 02:31, , 24F
03/06 02:31, 24F
→
03/06 02:33, , 25F
03/06 02:33, 25F
→
03/06 02:33, , 26F
03/06 02:33, 26F
推
03/06 02:33, , 27F
03/06 02:33, 27F
→
03/06 02:35, , 28F
03/06 02:35, 28F
→
03/06 02:36, , 29F
03/06 02:36, 29F
推
03/06 02:42, , 30F
03/06 02:42, 30F
推
03/06 07:55, , 31F
03/06 07:55, 31F
推
03/06 12:46, , 32F
03/06 12:46, 32F
→
03/06 12:46, , 33F
03/06 12:46, 33F
→
03/06 12:46, , 34F
03/06 12:46, 34F
→
03/06 13:04, , 35F
03/06 13:04, 35F
→
03/06 13:04, , 36F
03/06 13:04, 36F
→
03/06 13:04, , 37F
03/06 13:04, 37F
→
03/06 15:03, , 38F
03/06 15:03, 38F
→
03/06 15:29, , 39F
03/06 15:29, 39F
→
03/06 15:30, , 40F
03/06 15:30, 40F
→
03/06 15:32, , 41F
03/06 15:32, 41F