[問題] 想問一下一題程式的題目?

看板C_and_CPP (C/C++)作者 (哈哈哈)時間6年前 (2019/06/16 00:42), 編輯推噓3(3013)
留言16則, 8人參與, 6年前最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) 一般考題 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) C語言 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): https://imgur.com/a/DbZAb6N 想問一下最後f的答案是20嗎? 我疑惑的地方是*a和a到底是什麼? 因為題目一開始已說a是陣列了 後面又出現*a,感覺a又變指標變數了 所以不確定*a和a各別代表什麼? 我最後是假設*a=a[0]=3, a代表指標變數,*(a+2)=a[2]=3下去算的 得到f=20 不知道這樣對不對? 餵入的資料(Input):預期的正確結果(Expected Output):錯誤結果(Wrong Output):程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔) 下列C語言執行後,f值為何? int a[5],i,f; for(i=0;i<=4;i++) a[i]=5-i; f=*a+a[1]+*(a+2)+(*a+3); 補充說明(Supplement): 麻煩高手解惑一下 *a和a分別代表什麼? f答案等於20嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.4.145 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1560616937.A.997.html

06/16 00:54, 6年前 , 1F
*a在這裡等同a[0]
06/16 00:54, 1F

06/16 00:55, 6年前 , 2F
自己跑一次不就得了
06/16 00:55, 2F

06/16 01:16, 6年前 , 3F
為什麼不開程式跑
06/16 01:16, 3F

06/16 01:27, 6年前 , 4F
那請問一下*(a+2)是代表a[2]嗎?
06/16 01:27, 4F

06/16 01:29, 6年前 , 5F
@jerryh001大陣列加*就代表陣列的第一個位置的意思?
06/16 01:29, 5F

06/16 01:32, 6年前 , 6F
一維陣列可以當作指向第一個元素的指標使用
06/16 01:32, 6F

06/16 01:32, 6年前 , 7F
如果不知道指標和*是什麼...還是去google吧
06/16 01:32, 7F

06/16 01:35, 6年前 , 8F
剛剛跑了一下程式,他說編譯失敗.....
06/16 01:35, 8F

06/16 01:39, 6年前 , 9F
編譯失敗那就自己找找看問題在哪 弄到能跑出來為止
06/16 01:39, 9F

06/16 01:42, 6年前 , 10F
@thefattiger我有google過了,只是不確定自己的理解
06/16 01:42, 10F

06/16 01:43, 6年前 , 11F
對不對,*(a+2)是代表a[2]嗎?
06/16 01:43, 11F

06/16 01:43, 6年前 , 12F
是,編譯失敗就試著看懂錯誤訊息吧
06/16 01:43, 12F

06/16 11:12, 6年前 , 13F

06/16 11:12, 6年前 , 14F

06/17 23:30, 6年前 , 15F

06/18 02:37, 6年前 , 16F
感謝大家的回答
06/18 02:37, 16F
文章代碼(AID): #1T1H_fcN (C_and_CPP)
文章代碼(AID): #1T1H_fcN (C_and_CPP)