[問題] c語言

看板Programming作者 (^___^)時間11年前 (2013/05/22 11:27), 編輯推噓3(3013)
留言16則, 10人參與, 最新討論串2/2 (看更多)
請教個問題 宣告int a[3]={2,4,6} 若&a[0]的值是1000且整數之大小為4位元組 請問printf("%d%d",*(a+1),a+1)的輸出為何? 我看不懂 *(a+1)是什麼 = = 謝謝看完:) -- Sent from my Android -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 27.243.178.141

05/22 12:21, , 1F
就是a[1]
05/22 12:21, 1F

05/22 13:32, , 2F
所以輸出會 4,1001 ?
05/22 13:32, 2F

05/22 13:33, , 3F
謝謝一樓回答
05/22 13:33, 3F

05/22 13:42, , 4F
這不是打進去跑一下就知道的事情
05/22 13:42, 4F

05/22 13:47, , 5F
去跑一下吧
05/22 13:47, 5F

05/22 14:06, , 6F
我沒電腦 (淚奔)
05/22 14:06, 6F

05/22 14:24, , 7F

05/22 16:32, , 8F
沒電腦用ideone就可以了 超方便的咧
05/22 16:32, 8F

05/22 16:33, , 9F
感謝樓上兩位:)
05/22 16:33, 9F

05/23 08:06, , 10F
將指標 指到 (a+1) 位置 取出 a[0+1]值
05/23 08:06, 10F

05/24 16:03, , 11F
a是pointer指向a[0] *(a+1)應該是a[1]=4
05/24 16:03, 11F

05/26 02:30, , 12F
後面的a+1不意外應該是1004,如果int是4by
05/26 02:30, 12F

06/12 00:50, , 13F
address 1000+1 應為1001吧?
06/12 00:50, 13F

06/12 01:54, , 14F
T* + n = void* + sizeof(T) * n
06/12 01:54, 14F

06/12 08:23, , 15F
^^^^^ 正確來說是 char*
06/12 08:23, 15F

06/12 08:23, , 16F
void*的加減是未定義行為
06/12 08:23, 16F
文章代碼(AID): #1Hd3idBQ (Programming)
討論串 (同標題文章)
文章代碼(AID): #1Hd3idBQ (Programming)