ubuntu - gcc 显示分段错误
问题描述
我正在尝试运行这个实现计数排序的非常简单的程序。程序遇到分段错误。我在这里遇到了类似的问题,但它们都涉及指针。我的代码没有指针,当我在 gcc 7.3.0 上运行代码时,用于扫描整数的 for 循环似乎永远循环。但是当我在 gcc 4.8.5 上运行它时,它会显示分段错误。我完全迷失在这里。我的代码是:
`
void main(){
int i=0,j=0,tmp=0,elements[10],max_ele=0,size_arr[max_ele],sorted_arr[10];
printf("Please enter 5 elements\n");
for(i=0;i<5;i++){
scanf("%d",&elements[i]);
}
//Finding max element in the elements array
for(i=0;i<5;i++){
if(max_ele<elements[i]){
max_ele=elements[i];
}
}
//Setting size_arr as 0
for(i=0;i<max_ele;i++){
size_arr[i]=0;
}
//Setting the count of elements present
for(i=0;i<5;i++){
size_arr[elements[i]]++;
}
//Sorting
for(i=0;i<=max_ele;i++){
tmp=size_arr[i];
while(tmp--){
sorted_arr[j]=i;
j++;
}
}
printf("Sorted array is:\n");
for(i=0;i<5;i++){
printf("%d\n",sorted_arr[i]);
}
}`
解决方案
推荐阅读
- multithreading - 如何使 Julia 中的多线程随线程数缩放?
- scala - 为什么这个类需要在scala中是抽象的?
- vue.js - Vue Test Utils - 无法正确挂载/浅挂载组件,包装器未定义
- assembly - 为什么启动 AP 需要在 mit6.828 示例 OS 内核中进行间接调用?
- python - 我的交换功能在 python 中不起作用
- reactjs - 关于 React 上下文:“{}”类型中缺少属性“children”,但在“ConsumerProps”类型中是必需的
- python - IMDB 的 Web 抓取无法检索所需的列
- laravel - laravel 刀片模板文件中与 Vue3 内联模板(使用插槽)的 2 方式绑定
- mongodb - 使用 mongodb 过滤美元值
- json - 如何在 Spark RDD 的 Json 中读取 Json?