我编写了一个程序来接受一个数组中的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;
}
}
}
答案 0 :(得分:3)
for (int i = 0; i < SZ; i + 2)
“i + 2”没有做任何事情。
你可能意味着“i + = 2;”。
您的家庭作业是找到有关系统调试器的一些文档。并找到你的橡皮鸭的位置,正如评论中所建议的那样。