我是一名c++初学者,想请大家帮我看一下这个程序,这个程序是要在数组中插入各删除元素,我想得到的结果是:1283456 12346 可是编译后结果却是:1283456 62346

zsyf1987 2008-03-01 01:32:18
#include<iostream.h>
void main()
{
int a[]={1,2,3,4,5,6};
int b[6];int c[4];
int i,j;
b[0]=a[0];b[1]=a[1];
b[2]=8;
for(i=2;i<6;i++)
b[i+1]=a[i];
for(i=0;i<7;i++)
cout<<b[i]<<endl;
for(j=0;j<4;j++)
c[j]=a[j];
c[4]=a[5];
for(j=0;j<5;j++)
cout<<c[j]<<endl;

}
...全文
173 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
passionfall 2008-03-06
  • 打赏
  • 举报
回复
怎么没有接下去的了?
等着后边一个人试试结果
passionfall 2008-03-03
  • 打赏
  • 举报
回复
我试了怎么用原来的int b[6];int c[4]; 出的结果和用更改的int b[7];int c[5];出的结果是一样的
不知你们用6 4 组合出的是什么问题
我用的是BCB2007做的
HelloDan 2008-03-02
  • 打赏
  • 举报
回复

#include <iostream>

using std::cout; using std::endl;
using std::ends;

int main()
{
int a[]={1,2,3,4,5,6};
int b[7];int c[5]; // change to 7 and 5
int i,j;
b[0]=a[0];b[1]=a[1];
b[2]=8;
for(i=2;i <6;i++)
b[i+1]=a[i];
for(i=0;i <7;i++)
cout <<b[i] <<ends;
cout<<endl;
for(j=0;j <4;j++)
c[j]=a[j];
c[4]=a[5];
for(j=0;j <5;j++)
cout <<c[j] <<ends;
cout<<endl;

return 0;
}
passionfall 2008-03-02
  • 打赏
  • 举报
回复
1
2
8
3
4
5
6
1
2
3
4
6

上边是我运行你的程序的结果,不是你想要的结果吗?

程序里边有超限的吗?b[6],后来一共存了7个数,从b[0]~b[6],感觉没有超限啊,难道是最后一个结束符号\t?请讲清楚一些问题出在哪里!

谢谢

新手上路
zhengxianglei 2008-03-02
  • 打赏
  • 举报
回复
范围问题没搞清楚
zsyf1987 2008-03-01
  • 打赏
  • 举报
回复
我想实现的就是在数组中删除和插入一个元素啊,本来是想用指针写的,可是对指针不是很熟悉
nobush 2008-03-01
  • 打赏
  • 举报
回复
定义改成int b[7];
不然會溢出
zsyf1987 2008-03-01
  • 打赏
  • 举报
回复
呵呵,谢了啊,我找了好久也没找出来,怪自己学艺不精啊!!!!
ryfdizuo 2008-03-01
  • 打赏
  • 举报
回复
数组越界了嘛, 你是想要实现什么?
ZFelix 2008-03-01
  • 打赏
  • 举报
回复
int b[6];int c[4];

你的数组大小装不下你要的那么多数呀。
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2008-03-01 01:32
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下