Process is terminated due to StackOverflowException. 是什么缘故
这是一个折半查找的代码:
#define N 10000000
int main()
{
int a[N],i;
for (i=0;i<N;i++)
a[i]=i;
int x=0,end=0,start=0,middle=0;
scanf ("%d",&x);
start=0;
end=N-1;
while (start<=end)
{
middle=(start+end)/2;
if ( x> a[middle] )
{
start = middle + 1;
} else if (x < a[middle]) {
end = middle - 1;
} else {
printf ("The number %d has been found!\n",x);
exit (0);
}
}
}
如果把 #define N 1000000 改为 #define N 100 就没事了,而改为 #define N 122976 运行没有问题而输入有问题,N 大于122976 运行后立即出现问题。难道C语言限制数组容量吗?
#define N 10000000
int main()
{
int a[N],i;
for (i=0;i<N;i++)
a[i]=i;
int x=0,end=0,start=0,middle=0;
scanf ("%d",&x);
start=0;
end=N-1;
while (start<=end)
{
middle=(start+end)/2;
if ( x> a[middle] )
{
start = middle + 1;
} else if (x < a[middle]) {
end = middle - 1;
} else {
printf ("The number %d has been found!\n",x);
exit (0);
}
}
}
如果把 #define N 1000000 改为 #define N 100 就没事了,而改为 #define N 122976 运行没有问题而输入有问题,N 大于122976 运行后立即出现问题。难道C语言限制数组容量吗?
...全文
相关推荐
国央企创新负责人如何构建多维度的科技资源评价与配置体系?.docx
国央企创新负责人如何构建多维度的科技资源评价与配置体系?
《移动通信系统》全套PPT课件2026(西安电子科技大学)
《移动通信系统》全套PPT课件2026(西安电子科技大学)
Python3 json序列化常见报错
json只能序列化字符串、数字、列表、字典、布尔、空值。无法序列化datetime、bytes、自定义类对象,直接dumps会抛出类型错误。解决方案:自定义序列化函数,通过default参数传入,手动转换特殊对象。中文乱码:默认ensure_ascii=True会转义中文,改为False直接输出原生中文。反序列化loads注意:json字符串要求双引号,Python字典单引号字符串无法解析,需要提前替换引号。 lxwuhua.cn mayawalkermx.com mccia.com.cn lzsxgqscgs.com mftug.com
产业园区运营负责人如何精准对接区域技术成果与产业需求?.docx
产业园区运营负责人如何精准对接区域技术成果与产业需求?
科技中介服务机构如何提升科技成果评估服务的专业性与效率?.docx
科技中介服务机构如何提升科技成果评估服务的专业性与效率?


新手乐园
