gpt4 book ai didi

C - 在这个简单的程序中出现段错误(核心转储)错误

转载 作者:太空宇宙 更新时间:2023-11-04 01:00:36 24 4
gpt4 key购买 nike

这是一个简单的程序,用于查找 10 数组的最小和最大元素。我不确定为什么会收到段错误(核心已转储)错误。

#include <stdio.h>

int main(void) {
int i, j, min, array[10], max, n;

//This loop get user input for the elements of the array
for(i = 0; i < 10; i++) {
printf("Enter element number %d:", i);
scanf("%d", &n);
array[i] = n;
}

min = array[0];
max = array[0];

//This loop finds the smallest element of the array
for(j = 0; j < 10; j++) {
if(min > array[j]) {
min = array[j];
}
}

//This loop finds the largest element of the array
for(j = 9; j >= 0; j++) {
if(max < array[j]) {
max = array[j];
}
}

printf("smallest value is: %d", min);
printf("largest value is: %d", max);

return 0;
}

最佳答案

for(j = 9; j >= 0; j++)

应该是

for(j = 9; j >= 0; j--)

如果你想从最后一个迭代到第一个。您在第二次迭代中访问了 array[10],这是越界的。

也没有理由从最后一个迭代到第一个,所以

for(j = 0; j < 10; j++)

也可以。

您可以在单个 for 循环中完成整个工作(从标准输入读取,查看它是否大于最大值/小于最小值),因此您不需要数组。

关于C - 在这个简单的程序中出现段错误(核心转储)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41204125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com