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

#include
using 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;
}

6个回答

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

兄弟,你这个数组越界了~并没有c[4]哦~即使是c[3],如果要是a与c[3]相等,也是你需要输入的时候输入相同的值才可以相等哦~

#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 开始

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

这个根本就没有嵌套循环吧 你return之后 外面那个循环只执行了一次呀
而且没有c[4] 数组越界了
另外 这个能运行? 难道不会直接报错? 怎么会有a == c[4]?(PS: 看见你写的a=c[4] 我总以为是在赋值......)

哥们,return 放在循环嵌套的外面,OK?另外,如果作为IT道上混得人,如果你连数组从0开始都不懂,那么你就out了!

a=c【4】仅仅是一个巧合。你运气好,而且这种概率不大...

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!