694861283 发表于 2014-11-14 13:44:38

关于数组赋值问题

本帖最后由 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:22:10

本帖最后由 Victory_6226 于 2014-11-14 14:25 编辑

a最多只能取到a吧你一上来就输出a肯定有问题

小人 发表于 2014-11-14 15:24:14

应该是<5而不是小于等于5

fireofsun 发表于 2014-11-14 15:45:51

a没有,数组越界

woaini92887 发表于 2014-11-14 16:13:44

你应该改成#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;

      
}

machimilk 发表于 2014-11-14 19:43:41

int a;表示int型数组a有5个元素,它们下标分别是a、a、a、a、a、这5个,不存在a这个元素,而你循环里面是a到a,这样就是6个元素了,明显越界了

694861283 发表于 2014-11-14 22:34:01

谢谢热心的鱼C……我回去也查了好多资料……是我没有理解透……最近指针问题也把我搞混了……

1055872684 发表于 2014-11-17 19:03:54

我的尾巴呢
                        -------------我在这里呢!

1055872684 发表于 2014-11-18 17:46:40

淡定,淡定,淡定……

z294354069 发表于 2014-11-19 10:33:54

数组越界了,for(i=0;i<5;i++);
页: [1]
查看完整版本: 关于数组赋值问题