运行提示内存方面的错误
#include <iostream>
using namespace std;
void two(int k)
{
int x,i=1,n;
int p1[100],p2[100];
while(i)
{
i=k/2;
x=k%2;
k=i;
p1[n]=x;
n++;
}
cout < <n < <endl;
for(int a=0;n> 0;n--,a++)
{
p2[a]=p1[n-1];
//cout < <p2[a];
cout < <p2[a];
}
}
void main()
{int a;
cin> > a;
two(a);
}请问哪错了
[解决办法]
你的 n 没赋初值
[解决办法]
n没有赋初值:int x,i=1,n=0;
[解决办法]
1.输入值过大时,会出现数组越界。
2.对n没有初始化。