当我输入“12345”和“0”的用户输入时,我看到在第一个循环中 arrOne 正在按照我期望的方式填充 1, 2, 3, 4, 5。但是在第二个循环之后(填充arrTwo)当我去打印 arrOne 的值(使用第三个循环)时,我看到这些值现在是 0, 2, 3, 4, 5。
我对在初始循环后如何修改 arrOne 的初始值感到摸不着头脑。感谢任何指导!
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
int main()
{
// Write your main here
string inputOne = "";
string inputTwo = "";
cout << "Please enter two positive integers up to 20 digits long" << endl;
cin >> inputOne;
cin >> inputTwo;
int arrOne[inputOne.length() - 1];
int arrTwo[inputTwo.length() - 1];
for(int i = 0; i< inputOne.length(); i++){
arrOne[i] = inputOne[i] - '0';
cout<< "arrOne[i] = " << arrOne[i] << endl;
}
for(int i = 0; i< inputTwo.length(); i++){
arrTwo[i] = inputTwo[i] - '0';
cout<< "arrTwo[i] = " << arrTwo[i] << endl;
}
for(int i = 0; i< inputOne.length(); i++){
cout<< "arrOne[i] = " << arrOne[i] << endl;
}
return 0;
}
我期望在填充 arrTwo 数组后,arrOne 数组将继续存储 1, 2, 3, 4, 5。
不确定这是否是您需要的,请检查此,
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
int main()
{
// Write your main here
string inputOne = "";
string inputTwo = "";
cout << "Please enter two positive integers up to 20 digits long" << endl;
cin >> inputOne;
cin >> inputTwo;
int* arrOne = new int[inputOne.length()];
int* arrTwo = new int[inputTwo.length()];
for(int i = 0; i< inputOne.length(); i++){
arrOne[i] = inputOne[i] - '0';
cout<< "arrOne[i] = " << arrOne[i] << endl;
}
for(int i = 0; i< inputTwo.length(); i++){
arrTwo[i] = inputTwo[i] - '0';
cout<< "arrTwo[i] = " << arrTwo[i] << endl;
}
for(int i = 0; i< inputOne.length(); i++){
cout<< "arrOne[i] = " << arrOne[i] << endl;
}
delete[] arrOne;
delete[] arrTwo;
return 0;
}
我从 g++ 得到的输出是;
Please enter two positive integers up to 20 digits long
12345
0
arrOne[i] = 1
arrOne[i] = 2
arrOne[i] = 3
arrOne[i] = 4
arrOne[i] = 5
arrTwo[i] = 0
arrOne[i] = 1
arrOne[i] = 2
arrOne[i] = 3
arrOne[i] = 4
arrOne[i] = 5
你的代码输出是;
Please enter two positive integers up to 20 digits long
12345
0
arrOne[i] = 1
arrOne[i] = 2
arrOne[i] = 3
arrOne[i] = 4
arrOne[i] = 5
arrTwo[i] = 0
arrOne[i] = 0
arrOne[i] = 2
arrOne[i] = 3
arrOne[i] = 4
arrOne[i] = 5