[問題] 指標的運算

看板C_and_CPP作者 (Dennis)時間14年前 (2010/06/03 14:40), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/4 (看更多)
因為還在初心者的階段,若問了笨問題請多包涵 程式: int A[5]; int *P; for(i=0;i<=4;i++) A[i]=5-i; P=A; 請問下列結果為何? 是各別五小題 1.Printf(*P++) ans:5 (我算是6,*優先權較高所以先取A[0]再++) 2.Printf(*++P) ans:4 (這題就難懂了,不知誰該先做) 3.Printf(++*P) ans:4 (還是6,一樣先做*P再++) 4.Printf((*P)++) ans:4 (括號先算,算出來是6) 5.Printf(*--P) ans:4 (同第二題) 若題目答案沒問題,那我一定是觀念哪裡錯誤了.. 麻煩板友指點,萬分感謝Q_Q -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.124.49.128

06/03 15:05, , 1F
++的優先權是高於*...應該是吧?
06/03 15:05, 1F

06/03 15:09, , 2F
樓上正解
06/03 15:09, 2F

06/03 15:10, , 3F
這題目是連續在同一個程式裡還是分開的...?
06/03 15:10, 3F

06/03 15:19, , 4F
推樓上...你的題目怪怪的,就算是分開的,你答案也
06/03 15:19, 4F

06/03 15:19, , 5F
有錯啊...第五題本身就有錯
06/03 15:19, 5F

06/03 16:24, , 6F
第五題若是--P不支指到哪去了@@ 好像真的有問題..
06/03 16:24, 6F
文章代碼(AID): #1C1qv8Kb (C_and_CPP)
文章代碼(AID): #1C1qv8Kb (C_and_CPP)