我在将数字转换为数字数组时遇到一些问题。
#include <iostream>
using namespace std;
int main()
{
int a[11];
int number;
cin >> number;
for (int i = 10; i >= 0; i--)
{
a[i] = number%10;
number = number/10;
}
for (int i = 0; i < 11; i++)
cout << a[i];
cout << endl;
}
我得到的是一些随机数字,而不是我输入的数字。当输入的数字小于或等于9位时,不会发生此问题。
答案 0 :(得分:0)
我建议初始化数组(这是一个很好的做法)做类似的事情:
int a[11] = {-1};
如果你在打印数组的每个元素后添加换行符,那么它将变得有意义且更容易阅读......
您的代码实际上按预期工作
#include <iostream>
using namespace std;
int main()
{
int a[11] = {-1};
int number;
cin >> number;
for (int i = 10; i >= 0; i--)
{
a[i] = number % 10;
number = number / 10;
}
for (int i = 0; i < 11; i++)
cout <<"@[" <<i<<"]: "<< a[i] <<endl;
cin.get();
}
输入 432
你得到了输出: