关于数组赋值问题
本帖最后由 694861283 于 2014-11-14 14:13 编辑先上代码
#include<stdio.h>
int main()
{
int a,i,b;
for(i=0;i<=5;i++)
{
scanf("%d",&a);
}
for(i=5;i>=0;i--)
{
printf("%d",a);
}
return 0;
}
这段代码从语句上是没有错误的,但是在运行的时候为什么会出现错误?
PS:会出现调试程序的错误信息,这是什么意思?
本帖最后由 Victory_6226 于 2014-11-14 14:25 编辑
a最多只能取到a吧你一上来就输出a肯定有问题
应该是<5而不是小于等于5 a没有,数组越界 你应该改成#include<stdio.h>
int main()
{
int a,i,b;
printf("please input fire number: \n");
for(i=0;i<5;i++)
{
scanf("%d",&a);
}
for(i=4;i>=0;i--)
{
printf("%d\n",a);
}
return 0;
} int a;表示int型数组a有5个元素,它们下标分别是a、a、a、a、a、这5个,不存在a这个元素,而你循环里面是a到a,这样就是6个元素了,明显越界了 谢谢热心的鱼C……我回去也查了好多资料……是我没有理解透……最近指针问题也把我搞混了…… 我的尾巴呢
-------------我在这里呢! 淡定,淡定,淡定…… 数组越界了,for(i=0;i<5;i++);
页:
[1]