Язык Си в примерах/Максимум: различия между версиями

Содержимое удалено Содержимое добавлено
Проверил, код корректен. Учите язык.
Строка 13:
#include <stdio.h>
 
int main ()
main ()
{
int n = 1, cur, min, max;
double sum, sum_sq;
 
int r = scanf ("%d", &cur);
= scanf ("%d", &cur);
assert (r == 1);
sum = min = max = cur;
Строка 72 ⟶ 70 :
=== Условия корректности ввода ===
 
После завершения чтения последовательности, мы ''требуем'' (используя [[../Учимся складывать#assert |уже известную]] нам макроподстановку <code >assert</code><ref name="assert" />) истинности следующих двух условий, смысл которых сводится к тому, что чтение последовательности <em >не было прервано</em> ни появлением во входном потоке каких-либо «нечисловыхне числовых» данных, ни ошибкой ввода-вывода.
# Мы проверяем равенство последнего возвращенного функцией <code >scanf</code> значения константе (макроопределению) <code >EOF</code> (''конец файла''; англ. {{lang |en|end of file}}), что соответствует или ''исчерпанию'' нашего входного потока (''стандартного ввода''), или возникновению ошибки ввода-вывода. Другое возможное на данном этапе значение — ноль — укажет на наличие во входном потоке данных, которые не были опознаны функцией <code >scanf</code> как [[#Дано |требуемое условием]] целое число в десятичной записи (<code >%d</code>).
# Если предыдущее требование выполняется (иными словами — останов произошел <em >не</em> из-за «нечисловогоне числового» ввода), мы также явно требуем ''ложности'' значения функции ''признака ошибки'' <code >ferror</code> для стандартного ввода (<code >stdin</code>.)<ref name="ferror" />
 
=== Цикл «пока» ===