为什么不能输出一个数组包含元素100到109呢
#include<iostream>using namespace std;
void test02()
{
int*arr=new int;
for(int i=0;i<10;i++)
{
arr=i+100;
}
for(int i=0;i,10;i++)
{
cout<<arr<<endl;
}
delete[] arr;
}
int main()
{
test02();
return 0;
} 在你的代码中,第一个for循环正确地将数组 arr 的元素设置为100到109。然而,在第二个for循环中,你在条件部分使用了逗号运算符而不是比较运算符,导致循环无法正常工作。
要修复这个问题,你需要将第二个for循环中的逗号运算符替换为比较运算符。修改后的代码如下:
void test02()
{
int* arr = new int;
for (int i = 0; i < 10; i++)
{
arr[ i] = i + 100;
}
for (int i = 0; i < 10; i++)
{
cout << arr[ i] << endl;
}
delete[] arr;
}
这样修改后,你应该能够正确地输出数组 arr 中的元素100到109。 在你的代码中,for(int i=0;i,10;i++) 中的条件语句 i,10 中应该是 i<10,这个错误会导致循环无法正确执行,因此导致输出不正确。
修改后的代码如下:
++
#include<iostream>
using namespace std;
void test02()
{
int*arr=new int;
for(int i=0;i<10;i++)
{
arr=i+100;
}
for(int i=0;i<10;i++)
{
cout<<arr<<endl;
}
delete[] arr;
}
int main()
{
test02();
return 0;
}
注意到修改后的循环条件语句是 i<10,这会使循环执行10次,正确输出数组中的元素。
希望我的回答对你有所帮助。如果你还有其他问题,请随时提问。
球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}
页:
[1]