作者ntnunccu5566 (哈哈哈)
看板C_and_CPP
標題[問題] 想問一下一題程式的題目?
時間Sun Jun 16 00:42:15 2019
開發平台(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
→ jerryh001: *a在這裡等同a[0] 06/16 00:54
→ leo850319: 自己跑一次不就得了 06/16 00:55
推 timmy999: 為什麼不開程式跑 06/16 01:16
→ ntnunccu5566: 那請問一下*(a+2)是代表a[2]嗎? 06/16 01:27
→ ntnunccu5566: @jerryh001大陣列加*就代表陣列的第一個位置的意思? 06/16 01:29
→ thefattiger: 一維陣列可以當作指向第一個元素的指標使用 06/16 01:32
→ thefattiger: 如果不知道指標和*是什麼...還是去google吧 06/16 01:32
→ ntnunccu5566: 剛剛跑了一下程式,他說編譯失敗..... 06/16 01:35
→ sarafciel: 編譯失敗那就自己找找看問題在哪 弄到能跑出來為止 06/16 01:39
→ ntnunccu5566: @thefattiger我有google過了,只是不確定自己的理解 06/16 01:42
→ ntnunccu5566: 對不對,*(a+2)是代表a[2]嗎? 06/16 01:43
→ thefattiger: 是,編譯失敗就試著看懂錯誤訊息吧 06/16 01:43
→ ntnunccu5566: 感謝大家的回答 06/18 02:37