为什么在输入数字执行时程序出错,内存不能为written

//Ctest4_03.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#inc... // Ctest4_03.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "stdio.h"
#include "math.h"
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
int a[5];
for ( int i = 0; i<5; i++ )
{
a[i] = 0;
}
int x, count = 0;
cin>>x;

while (x)
{
a[i] = x%10;
x = x/10;
count++;
}

for ( i = 4; i>=0; i-- )
{
x += a[i] * pow(10, (4-i));
}

cout<<"这是一个"<<count<<"位数"<<endl;
for ( i = 0; i<5; i++ )
{
cout<<a[i]<<", ";
}
cout<<"\n逆序后结果为:"<<x<<endl;

return 0;
}
展开
 我来答
十指502
2013-08-20 · TA获得超过189个赞
知道小有建树答主
回答量:203
采纳率:0%
帮助的人:150万
展开全部
越界了
while (x)
{
a[i] = x%10;
x = x/10;
count++;
}
改为
while (x)
{
i--;
a[i] = x%10;
x = x/10;
count++;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式