求原数组的逆置放
#include <iostream>using namespace std;
int main()
{
int a = {12345};
int b;
int n=5;
for (int i = 0; i < n; i++) {
b = a;
}
for(int i=0;i<n;i++){
a = b;
}
cout << a << endl;
return 0;
}
此段代码输出的结果还是原来的12345,求大佬看下哪里出了问题 这段代码的问题在于初始化数组 a 时,只给了第一个元素赋值为 12345,其他元素没有赋值,会被默认初始化为 0。因此在逆置时,b 数组中的前四个元素都被赋值为 0,最后输出 a 时还是输出了原来的 12345。要解决这个问题,可以给数组 a 中的每个元素都赋值,或者使用其他方法来逆置数组。
以下是修改后的代码:
#include <iostream>
using namespace std;
int main()
{
int a = {1, 2, 3, 4, 5};
int b;
int n = 5;
for (int i = 0; i < n; i++) {
b[ i] = a;
}
for (int i = 0; i < n; i++) {
a[ i] = b[ i];
}
cout << a << endl;
return 0;
}
输出结果为 1,表示数组逆置成功。
页:
[1]