1
爲什麼以下兩個代碼給出不同的結果? 第一個打印零,而第二個打印隨機計數如預期。 使用gcc 4.6.3作爲數組索引的C++傳遞函數不起作用。
8 int foo(){
9 return rand() % 2;
10 }
11
12 int main()
13 {
14 int ar[2] = {0};
15 for (int i = 0; i < 20; i++) {
16 // int tmp = foo();
17 // ar[tmp]++;
18 ar[foo()];
19 }
20
21 for (int i = 0; i < 2; i++)
22 cout << i << " : " << ar[i] << endl;
23 }
〜
〜
8 int foo(){
9 return rand() % 2;
10 }
11
12 int main()
13 {
14 int ar[2] = {0};
15 for (int i = 0; i < 20; i++) {
16 int tmp = foo();
17 ar[tmp]++;
18 // ar[foo()];
19 }
20
21 for (int i = 0; i < 2; i++)
22 cout << i << " : " << ar[i] << endl;
23 }
你打算用'ar [1]'初始化什麼值? – vonbrand 2013-02-16 20:33:34