在一本書看到 可以這樣給初始值
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
請問該怎麼理解這結果
作者:
as7218 (Kaigiks)
2018-08-18 18:07:00第二個只有陣列前三個被賦值而已(0, 1), (2, 3), (4, 5) 分別回傳 1, 3, 5
作者: jerryh001 2018-08-18 18:47:00
其實小括號表示依序做逗點分開的幾件事 最後回傳最後一件事的結果 例如int i=5,j=10;cout<<(i++,j);會顯示10然後i會變6