码迷,mamicode.com
首页 > 编程语言 > 详细

数组越界但是用scanf不报告段错误

时间:2014-11-11 02:10:15      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:段错误

   {        int N;
        int a[100]={1};                 //先初始赋值100年的奶牛数量为1
                                        //定义第N年
        a[0]=0;a[1]=1;a[2]=1,a[3]=1;                     //给数组前四个元素赋值即前四年的奶牛数量都为1
        int counter=4;
        for(;counter<=100;counter++)
            {

            a[counter]=a[counter-1]+a[counter-3];          //第四个元素后数组各个元素的关系
            }

        while(scanf("%d",&N))                        //循环输入第N年
        {
            printf("%d\n",a[N]);
        }
        
    }

数组a是100长度,但是序号counter<=100,明显越界。如果取消scanf就会出现段错误提示(运行时候的事情)

数组越界但是用scanf不报告段错误

标签:段错误

原文地址:http://5228690.blog.51cto.com/5218690/1575100

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!