永发信息网

c++简单的提,哪错了?

答案:3  悬赏:70  手机版
解决时间 2021-07-29 18:48
  • 提问者网友:临风不自傲
  • 2021-07-29 07:29
#include<iostream>
using namespace std;
void main()
{ int a[2]={5,2},b[2];

int *c=a;
for(int i=0;i<2;i++)
{ b[i]=*c;
c=c+1;
}
cout<<b[2];
}
结果却是5,短个2
最佳答案
  • 五星知识达人网友:廢物販賣機
  • 2021-07-29 09:03

你的代码中有个错误:最后一句 cout<<b[2]; 数组b[] 定义和使用时不同的,b[2]有两个元素,但是访问时,就只能是从0开始,只有b[0],b[1],并没有b[2];其实,你代码并没有大的错误,修改之后,就可以看清楚数组 b[]的全部元素,其实,这段代码,可以说是:数组的复制作用吧,把数组a[],的元素复制到数组b[]中,


#include<iostream>
using namespace std;
void main()
{
int a[2]={5,2},b[2];
int *c=a;
for(int i=0;i<2;i++){ b[i]=*c; cout<<*c<<endl; c=c+1;}
for(int j=0;j<2;j++) cout<<b[j]<<endl;
}


全部回答
  • 1楼网友:渡鹤影
  • 2021-07-29 10:38

int b[2];

实际可以使用的b[0],b[1];

b[2]的话是一个未知数,数组越界

  • 2楼网友:拜訪者
  • 2021-07-29 10:21
int a[2]={5,2},b[2]; int *c=a; for(int i=0;i<2;i++) { b[i]=*c; c=c+1; } cout<<b[0]<<" "<<b[1];
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯