作者wayneshiau (Wayne)
看板Grad-ProbAsk
標題[理工] C++指標與陣列問題
時間Sat Nov 11 12:31:43 2017
前幾天在看轉學考題目
看到一題如下
#include <iostream>
using namespace std;
void main()
{
double *pdata;
double data[3][5] = {{1,3,4,5,10}, {7,8,9,10,11}, {2,12,6,15,14}};
pdata = data[1];
cout << data[2][4] << endl;
cout << pdata[3] << endl;
cout << *(data+1)[1]+3<< endl;
cout << pdata--[0] << endl;
}
想請問最後一個輸出為什麼會是7,不太懂他的原理...
麻煩請指點,感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.197.116
※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1510374706.A.FE8.html
推 TMDTMD2487: google i++ 跟 ++i 的差別 11/11 13:33
推 nat99up: --擺變數後面會先這行動作再減 11/11 15:51
推 alan23273850: 還蠻討厭這種題目的,一般寫程式都要求可讀性的說 11/11 21:37
→ TMDTMD2487: 考試麻,不過我覺得知道後置跟前置是有一點用的啦 11/11 22:18
→ TMDTMD2487: 不過也是你很care差那一點的效能就是了 11/11 22:19
推 neuviojl: 推可讀性 好奇真的有人會這樣寫程式嗎 11/11 23:59
→ aggress5566: 會不會有人這樣寫不知道 但如果看到推不出來應該程式 11/12 00:47
→ aggress5566: 也寫得不太好 11/12 00:48
→ wayneshiau: 感謝解答! 11/12 23:50