глупый вопрос, но мой профессор не отвечает на электронные письма, поэтому я прошу здесь. Сейчас я просматриваю окончательный вариант, и я проходил экзамен по среднему экзамену, чтобы учиться. Теперь это действительно глупо, потому что я получил этот вопрос правильно 2 месяца назад. Но для жизни меня, оглядываясь назад, я не могу понять, почему это ошибка. Мне явно не хватает чего-то глупого, но я не знаю, что это. Пожалуйста помоги.C quiz Error Spotting
Рассмотрите следующую программу. Эта программа компилируется и запускается без указания ошибки, но ее вывод неверен. У него есть ошибка. Какую строку необходимо изменить для того, чтобы программа выдала правильный результат?
1 #include <stdio.h>
2 /* Find the minimum value in an array of doubles. */
3 double array_min (double x[], int length)
4 {
5 int i;
6 double min = 0.0;
7
8 for (i = 0; i < length; i++)
9 {
10 if (x[i] < min)
11 {
12 min = x[i];
13 }
14 }
15 return min;
16 }
17
18 int main(void)
19 {
20 double n[] = {12.5, 17.2, 11.4, 8.1};
21 double min;
22
23 min = array_min (n, 4);
24 printf("The minimum value is %lf\n", min);
25 return 0;
26 }
Редактировать: Я испортил форматирование, но теперь он исправлен. Я сохранил номера строк для ссылки, они были частью вопроса.
'double min = 0.0;' -> 'double min = x [0];' – BLUEPIXY
Поскольку вы хотите, чтобы значение 'min' при инициализации было перезаписано, установите максимальное значение float. Кроме того, установите его в первый элемент 'x'. – limits