【发布时间】:2014-10-02 23:41:28
【问题描述】:
在 c 程序中,我们可以初始化一个像 int array[10] 这样的数组。所以它可以存储 10 个整数值。但是当我使用循环输入时,它需要输入超过 10 并且不显示任何错误。
到底发生了什么??
#include<stdio.H>
main()
{
int array[10],i;
for(i=0;i<=11;i++)
scanf("%d",&array[i]);
for(i=0;i<10;i++)
printf("%d",array[i]);
}
【问题讨论】:
-
你能发布你的代码吗?
-
没有任何代码很难说。通常,如果您越界访问数组,则所有赌注都将关闭。您有责任注意不要这样做。
-
您能否给我们您的代码或插入元素的位置的 sn-p,因为这非常模棱两可
-
如果本地数组的情况 - 堆栈溢出(多么讽刺)......在全局数组的情况下 - 覆盖其他一些全局数据,或者执行非法内存访问......
-
@barakmanos:我认为您可能将堆栈溢出与堆栈粉碎混淆了。它们并不完全相同。