2016-03-10 40 views
-2

我写了一个程序中的阵列,以接受15的整数值,那么此数组传递到将被4.程序被称为

目前程序乘以每个偶数索引值的函数显示初始数组,但似乎在显示修改后的数组之前会挂起。

请帮我理解为什么程序会卡在这里!

int main(){ 
    const int SIZE = 15; 
    int quad[SIZE] = {}; 
    void quadruple(int[], const int); 

    cout << "Enter 15 integer values into an array." << endl; 
    for (int i = 0; i < SIZE; i++)        // Accept 15 int values 
    { 
     cout << i << ": "; 
     cin >> quad[i]; 
    } 

    cout << "Before quadruple function is called: " << endl; 
    for (int i = 0; i < SIZE; i++) 
    { 
     cout << quad[i] << " "; 
    } 
    cout << endl; 

    quadruple(quad, SIZE); 
    cout << "After even index value multiplication: " << endl; 
    for (int i = 0; i < SIZE; i++) 
    { 
     cout << quad[i] << " "; 
    } 
    cout << endl; 

    return 0; 
} 

void quadruple(int values[], const int SZ){ 
    for (int i = 0; i < SZ; i + 2)    // Multiply even values by 4 
    { 
     if ((i % 2) == 0) 
     { 
      values[i] = values[i] * 4; 
     } 
     else          // Keep odd values the same 
     { 
      values[i] = values[i] * 1; 
     } 
    } 
} 
+1

'i + 2'橡皮鸭会说什么? –

+0

有人会问你使用调试器并进行橡皮鸭调试。为什么不是我。 –

回答

3
for (int i = 0; i < SZ; i + 2)  

“我+ 2” 没有做任何事情。

你可能意思是“i + = 2;”。

你的家庭作业是找到一些关于你的系统调试器的文档。并找到你的橡皮鸭在哪里,正如评论中提到的那样。

+0

谢谢先生,我会向我的橡皮鸭解释每一行。 – AddieCaddy

相关问题