首页 > 代码库 > 数组越界但是用scanf不报告段错误
数组越界但是用scanf不报告段错误
{ 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不报告段错误
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。