看板 Programming 關於我們 聯絡資訊
double a[10][20][30][40]; printf("%d\n",(int)(d-&d[3]); printf("%d\n",(int)(d[3][4]-d[5][8])); 請問會輸出什麼?假設dobule是8byes, 謝謝各位高手。 -- 記得要有肩膀,這是男人唯一能公平和他人較量的場所。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.242.4.192 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1616288614.A.7E3.html
kisaraki1976: 你484在上機考? 1.163.92.198 03/21 11:42
chuegou: 如果是上機考自己試不就好了== 114.136.13.229 03/21 11:53
gunhello: NO,是考古題,解答和我跑的答案不同 27.242.4.192 03/21 14:34
gunhello: 我跑的答案是-3和-1320 27.242.4.192 03/21 14:35
gunhello: 解答是-576000和-422400,求正確解 27.242.4.192 03/21 14:38
gunhello: 我說的解答是書本上的解答 27.242.4.192 03/21 14:39
gunhello: 煩請不吝指教,謝謝高手 27.242.4.192 03/21 14:40
gunhello: 說實在的,機器跑的答案我比較不懂,哈 27.242.4.192 03/21 14:41
springman: 前面宣告 a、後面問 d,打錯字?或?112.104.156.224 03/21 14:53
LPH66: 這答案期待你回答位元組數差, 但 C 語言 180.177.0.237 03/21 20:07
LPH66: 的指標相減得到的是元素的個數 180.177.0.237 03/21 20:07
LPH66: 題一的元素是 double [20][30][40] 這一團 180.177.0.237 03/21 20:08
LPH66: 單寫 d 它會 decay 成 &d[0], 所以就是差 3 180.177.0.237 03/21 20:08
LPH66: 題二則要小心, d[3][4] 是個二維陣列 180.177.0.237 03/21 20:09
LPH66: 它依然會 decay 成 &d[3][4][0] 才做運算 180.177.0.237 03/21 20:09
LPH66: 所以是 d[3][4][0] 和 d[5][8][0] 之間的 180.177.0.237 03/21 20:09
LPH66: double [40] 的個數, 所以是 44*30=1320 180.177.0.237 03/21 20:10
LPH66: 最後噴一下題目, 要問位元組數差直接問就好 180.177.0.237 03/21 20:11
LPH66: 寫程式碼就會搞成這樣不上不下的題目 180.177.0.237 03/21 20:11
gunhello: 回springman大,的確寫錯了,兩個都是a 27.242.4.192 03/21 20:29
gunhello: 回LPH66大,你真是太強了,感謝您。 27.242.4.192 03/21 20:30