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

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

Links booklink

Contact Us: admin [ a t ] ucptt.com