代码如下:
#include<iostream>
using namespace std;
int main()
{
int x;
cin >> x;
int outcome[10];
int p = 0;
while (x != 0)
{
outcome[p] = x % 8;
x = x / 8;
p++;
}
for (int i = p-1; i >= 0; i--)
{
cout << outcome[i];
}
}
错误6:一开始方法想错了。
改正6:采用正确的方法即可。
错误6:一开始在循环里将i初始化成p导致数组在读取时越界。
改正6:将i初始化为p-1即可或者将代码改成:
#include<iostream>
using namespace std;
int main()
{
int x;
cin >> x;
int outcome[10];
int p = -1;
while (x != 0)
{
p++;
outcome[p] = x % 8;
x = x / 8;
}
for (int i = p; i >= 0; i--)
{
cout << outcome[i];
}
}