看板 C_and_CPP 關於我們 聯絡資訊
因為還在初心者的階段,若問了笨問題請多包涵 程式: 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
diabloevagto:++的優先權是高於*...應該是吧? 06/03 15:05
wfgh:樓上正解 06/03 15:09
BSpowerx:這題目是連續在同一個程式裡還是分開的...? 06/03 15:10
diabloevagto:推樓上...你的題目怪怪的,就算是分開的,你答案也 06/03 15:19
diabloevagto:有錯啊...第五題本身就有錯 06/03 15:19
jerki:第五題若是--P不支指到哪去了@@ 好像真的有問題.. 06/03 16:24