【发布时间】:2018-01-29 05:23:03
【问题描述】:
我正在尝试编写一个对数组进行冒泡排序的程序,但每次运行时都会弹出此错误:runtime error: index 4 out of bounds for type 'int [e]'
这里有什么问题?
int main(void) {
printf("How many elements are there in the array?: ");
int e = get_int();
int array[e];
for (int i = 0; i < e; i++) {
printf("Insert element #%i: ", i + 1);
array[i] = get_int();
}
for (int i = 0; i < e - 1; e++) {
for (int j = 0; j < e - i - 1; j++) {
if (array[j] > array[j + 1]) {
int swap = array[j];
array[j] = array[j + 1];
array[j + 1] = swap;
}
}
}
printf("\n");
}
【问题讨论】:
-
认真的吗?您觉得该错误消息令人困惑吗?
-
请展示您迄今为止的研究/调试工作。请先阅读How to Ask页面。
-
请阅读如何生成minimal reproducible example - 您还需要提供所有输入和预期输出!
-
看起来像
i ==0,` if(array[j] > array[j + 1])`,最后一次迭代会导致问题....用笔和纸检查。 -
您的运行时非常好。其他人会出现“运行时错误,代码 0x232532464 - 下地狱”...
标签: c arrays runtime-error bubble-sort