看板 C_and_CPP 關於我們 聯絡資訊
在一本書看到 可以這樣給初始值 int a1[3][2]={{0,1},{2,3},{4,5}; 結果我的complier 報錯 不給編譯 於是 我換成小括號 int a1[3][2]={(0,1),(2,3),(4,5)}; complier通過了 但是輸出結果 感到疑惑 int a1[3][2]={(0,1),(2,3),(4,5)}; int i,j; for (i=0;i<3;i++) for (j=0;j<2;j++) printf("%d\n",a1[i][j]); 輸出結果 1 3 5 0 0 0 請問該怎麼理解這結果 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.168.177.161 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1534586267.A.9E6.html ※ 編輯: x246libra (118.168.177.161), 08/18/2018 17:58:08
sarafciel: 你不覺得第一個好像少了點什麼嗎 08/18 18:01
少了什麼? 我應該完全照書上打 沒發現少了什麼
as7218: 第二個只有陣列前三個被賦值而已 08/18 18:07
as7218: (0, 1), (2, 3), (4, 5) 分別回傳 1, 3, 5 08/18 18:08
為什麼加了小括號 只會回傳 最後一個數字? 小括號有這種特性嗎... ※ 編輯: x246libra (118.168.177.161), 08/18/2018 18:10:44
garyl62327: 你的右大括弧呢? 08/18 18:15
乾 真的少一個 大括號 為什麼我看不到 ... 那小括號 那奇怪的行為 有人可以告訴我 為什麼嗎? 雖然是錯誤用法 ※ 編輯: x246libra (118.168.177.161), 08/18/2018 18:18:29
jerryh001: 其實小括號表示依序做逗點分開的幾件事 最後回傳最後一 08/18 18:47
jerryh001: 件事的結果 例如int i=5,j=10;cout<<(i++,j);會顯示10 08/18 18:47
jerryh001: 然後i會變6 08/18 18:47
idiont: comma operator 08/18 21:14
查詢了 comma operator 居然有這種用法 以前沒用過 不知道可以應用在什麼地方 ※ 編輯: x246libra (118.168.177.161), 08/19/2018 09:16:58
oToToT: 個人常會寫到while(cin>>n, n!=0)之類的 08/19 12:24
cphe: 感謝樓主寫錯讓我學到這個用法XD 08/19 14:03