作者jerki (Dennis)
看板C_and_CPP
標題[問題] 指標的運算
時間Thu Jun 3 14:40:04 2010
因為還在初心者的階段,若問了笨問題請多包涵
程式:
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