void main()
{
int a[5];
int i=0;
int j=0;
for(;j<=5;j++)
{
a[i]=j;
cout<<a[i]<<"\n";
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
------------------------------------------
输出结果:
0
1
2
3
4
5
-858993460
-858993460
-------------------------------------------
最后一个为什么不是1和2啊
14 个解决方案
#1
循环中 i没有变化, 一直是0,
a[1]~a[4]都是随机数~
a[1]~a[4]都是随机数~
#2
变量i一直没变,当然会这样了,要不你把i都换成j
#3
因为
int i=0;
又
a[i]=j;
而且楼主没更新i的值
故实际操作中只是重复操作a[0]这个存储空间
a[1]和a[2]你根本没更新到
int i=0;
又
a[i]=j;
而且楼主没更新i的值
故实际操作中只是重复操作a[0]这个存储空间
a[1]和a[2]你根本没更新到
#4
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j<=5;j++)
{
a[i]=j;
cout<<a[i]<<"\n";
i++;
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
void main()
{
int a[5];
int i=0;
int j=0;
for(;j<=5;j++)
{
a[i]=j;
cout<<a[i]<<"\n";
i++;
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
#5
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j<=5;j++)
{
a[i++]=j; // a[i]=j; ==>> a[i++]=j;
cout<<a[i]<<"\n";
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
void main()
{
int a[5];
int i=0;
int j=0;
for(;j<=5;j++)
{
a[i++]=j; // a[i]=j; ==>> a[i++]=j;
cout<<a[i]<<"\n";
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
#6
honker110(honker)
我把i换成了j,结果说"遇到问题要关闭",还问“是否发送错误啊”
syy64(太平洋)
seu07201213(汪洋中的一片叶子)
我把你们的代码考在里面,也是说"遇到问题要关闭",问“是否发送错误”
不会是我的VC有问题了吧?
我把i换成了j,结果说"遇到问题要关闭",还问“是否发送错误啊”
syy64(太平洋)
seu07201213(汪洋中的一片叶子)
我把你们的代码考在里面,也是说"遇到问题要关闭",问“是否发送错误”
不会是我的VC有问题了吧?
#7
始终都是给a[0]赋值,而a[1]、a[2]还没有赋值呢,编译器便给个默认的值(并不是随机数)
#8
我把i换成了j,
因为你的循环是 for(;j<=5;j++)
最后 i=5,数组 a[5] 的最大元素是 a[4]
数组越界了~
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j< 5;j++) // j<=5 => j<5
{
a[i++]=j; // a[i]=j; ==>> a[i++]=j;
cout<<a[i]<<"\n";
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
因为你的循环是 for(;j<=5;j++)
最后 i=5,数组 a[5] 的最大元素是 a[4]
数组越界了~
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j< 5;j++) // j<=5 => j<5
{
a[i++]=j; // a[i]=j; ==>> a[i++]=j;
cout<<a[i]<<"\n";
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
#9
// 没注意
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j<5;j++)
{
a[i++]=j; // a[i]=j; ==>> a[i++]=j;
cout<<a[i-1]<<"\n";
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j<5;j++)
{
a[i++]=j; // a[i]=j; ==>> a[i++]=j;
cout<<a[i-1]<<"\n";
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
#10
更正一个 错误
我把i换成了j,
因为你的循环是 for(;j<=5;j++)
最后 i=5,数组 a[5] 的最大元素是 a[4]
数组越界了~
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j< 5;j++) // j<=5 => j<5
{
a[i]=j;
cout<<a[i]<<"\n";
a++;
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
我把i换成了j,
因为你的循环是 for(;j<=5;j++)
最后 i=5,数组 a[5] 的最大元素是 a[4]
数组越界了~
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j< 5;j++) // j<=5 => j<5
{
a[i]=j;
cout<<a[i]<<"\n";
a++;
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
#11
打错一个字,
a++ 更正为 i++
a++ 更正为 i++
#12
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j<5;j++)
{
a[i]=j;
cout<<a[i]<<"\n";
i++;
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
void main()
{
int a[5];
int i=0;
int j=0;
for(;j<5;j++)
{
a[i]=j;
cout<<a[i]<<"\n";
i++;
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
#13
以后遇到这种事,最好跟一下进程,看看程序实际的操作到底是干了些什么!
#14
感谢大家的指点,总结了大家的意见,有以下几点
1.在这里,a[5]的最大元素是a[4];
2.a[i++]首先是给数组赋值,其次是计算i++;
3.调试程序。
谢谢!!
1.在这里,a[5]的最大元素是a[4];
2.a[i++]首先是给数组赋值,其次是计算i++;
3.调试程序。
谢谢!!
#1
循环中 i没有变化, 一直是0,
a[1]~a[4]都是随机数~
a[1]~a[4]都是随机数~
#2
变量i一直没变,当然会这样了,要不你把i都换成j
#3
因为
int i=0;
又
a[i]=j;
而且楼主没更新i的值
故实际操作中只是重复操作a[0]这个存储空间
a[1]和a[2]你根本没更新到
int i=0;
又
a[i]=j;
而且楼主没更新i的值
故实际操作中只是重复操作a[0]这个存储空间
a[1]和a[2]你根本没更新到
#4
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j<=5;j++)
{
a[i]=j;
cout<<a[i]<<"\n";
i++;
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
void main()
{
int a[5];
int i=0;
int j=0;
for(;j<=5;j++)
{
a[i]=j;
cout<<a[i]<<"\n";
i++;
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
#5
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j<=5;j++)
{
a[i++]=j; // a[i]=j; ==>> a[i++]=j;
cout<<a[i]<<"\n";
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
void main()
{
int a[5];
int i=0;
int j=0;
for(;j<=5;j++)
{
a[i++]=j; // a[i]=j; ==>> a[i++]=j;
cout<<a[i]<<"\n";
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
#6
honker110(honker)
我把i换成了j,结果说"遇到问题要关闭",还问“是否发送错误啊”
syy64(太平洋)
seu07201213(汪洋中的一片叶子)
我把你们的代码考在里面,也是说"遇到问题要关闭",问“是否发送错误”
不会是我的VC有问题了吧?
我把i换成了j,结果说"遇到问题要关闭",还问“是否发送错误啊”
syy64(太平洋)
seu07201213(汪洋中的一片叶子)
我把你们的代码考在里面,也是说"遇到问题要关闭",问“是否发送错误”
不会是我的VC有问题了吧?
#7
始终都是给a[0]赋值,而a[1]、a[2]还没有赋值呢,编译器便给个默认的值(并不是随机数)
#8
我把i换成了j,
因为你的循环是 for(;j<=5;j++)
最后 i=5,数组 a[5] 的最大元素是 a[4]
数组越界了~
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j< 5;j++) // j<=5 => j<5
{
a[i++]=j; // a[i]=j; ==>> a[i++]=j;
cout<<a[i]<<"\n";
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
因为你的循环是 for(;j<=5;j++)
最后 i=5,数组 a[5] 的最大元素是 a[4]
数组越界了~
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j< 5;j++) // j<=5 => j<5
{
a[i++]=j; // a[i]=j; ==>> a[i++]=j;
cout<<a[i]<<"\n";
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
#9
// 没注意
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j<5;j++)
{
a[i++]=j; // a[i]=j; ==>> a[i++]=j;
cout<<a[i-1]<<"\n";
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j<5;j++)
{
a[i++]=j; // a[i]=j; ==>> a[i++]=j;
cout<<a[i-1]<<"\n";
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
#10
更正一个 错误
我把i换成了j,
因为你的循环是 for(;j<=5;j++)
最后 i=5,数组 a[5] 的最大元素是 a[4]
数组越界了~
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j< 5;j++) // j<=5 => j<5
{
a[i]=j;
cout<<a[i]<<"\n";
a++;
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
我把i换成了j,
因为你的循环是 for(;j<=5;j++)
最后 i=5,数组 a[5] 的最大元素是 a[4]
数组越界了~
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j< 5;j++) // j<=5 => j<5
{
a[i]=j;
cout<<a[i]<<"\n";
a++;
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
#11
打错一个字,
a++ 更正为 i++
a++ 更正为 i++
#12
#include <iostream.h>
void main()
{
int a[5];
int i=0;
int j=0;
for(;j<5;j++)
{
a[i]=j;
cout<<a[i]<<"\n";
i++;
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
void main()
{
int a[5];
int i=0;
int j=0;
for(;j<5;j++)
{
a[i]=j;
cout<<a[i]<<"\n";
i++;
}
cout<<a[1]<<"\n";
cout<<a[2]<<"\n";
}
#13
以后遇到这种事,最好跟一下进程,看看程序实际的操作到底是干了些什么!
#14
感谢大家的指点,总结了大家的意见,有以下几点
1.在这里,a[5]的最大元素是a[4];
2.a[i++]首先是给数组赋值,其次是计算i++;
3.调试程序。
谢谢!!
1.在这里,a[5]的最大元素是a[4];
2.a[i++]首先是给数组赋值,其次是计算i++;
3.调试程序。
谢谢!!