为了账号安全,请及时绑定邮箱和手机立即绑定

看一下为啥a=c【4】(c++循环嵌套的一个问题,)

看一下为啥a=c【4】(c++循环嵌套的一个问题,)

www说 2018-12-15 15:15:57
#includeusing namespace std;int main(){    int a,b,i,c[4];    cin>>a;    for(i=1;i<=a;i++)    {        for(b=1;b<=4;b++)        {            cin>>c[b];        }        cout<<c[1]<<c[2]<<c[3]<<c[4]<<a;}return 0;}
查看完整描述

2 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

cin>>c[b];
这里c的下标是0~3,你这个是越界了。
for(i=1;i<=a;i++)
你这里重复n次,只有最后一次有效。其它的都被冲掉了。

查看完整回答
反对 回复 2018-12-19
?
Qyouu

TA贡献1786条经验 获得超11个赞

#include
using namespace std;
int main()
{
int a,b,i,c[4];
cin>>a;
for(i=1;i<=a;i++)                //---------------这个循环没有卵用  只能进入一次 因为进入第一次后就return掉了   应修改为 break;
{
   for(b=1;b<=4;b++)          //----------------为什么 要B=1 B<=4   应该B = 0
{
cin>>c[b];                         //-----------------明显的数据益处
}
cout<<c[1]<<c[2]<<c[3]<<c[4]<<a;} //--------------数据溢出
return 0;
}

虽然你可以依然使用了 溢出的内存  但那a[4] 4个字节的内存 根本就不在你的数组内
数组下表索引 是从 0 开始

还需要再熟练掌握基本知识


查看完整回答
反对 回复 2018-12-19
  • 2 回答
  • 0 关注
  • 923 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信