Что происходит в функции int fun()? - C (СИ)
Формулировка задачи:
Здравствуйте, программисты! Я только начал программировать ( я совсем еще новичок). Я понимаю,что происходит в функции
int main. Можете пожалуйста объяснить мне, что происходит в функции int fun? Я совсем не понимаю, Точнее меня интересует два момента. Вот что значит
if (fscanf(fi,"%lf",&x)==1)
while(fscanf(fi,"%lf",&g)==1)
и что вообще происходит? Идет считывание элементов в файле input.txt?
А задача была найти количество элементов, больших предыдущего. Люди добрые, объясните мне, пожалуйста, что происходит в функции int fun?
Решение задачи: «Что происходит в функции int fun()?»
textual
Листинг программы
//объявляем 2 переменные типа double
double x, g;
// объявляем одну переменную типа int и инициализируем ее нолем
int n = 0;
//проверяем, считалось, преобразовалось и присвоилось ли значение из файла переменной x
if (fscanf(fi, "%lf", &x) == 1)
//если да, то проверяем, что
//при следующем считывании из файла
//число удачно преобразуется, присваивается переменной g и
while (fscanf(fi, "%lf", &g) == 1)
{
//если g > x, то
if (g > x)
//увеличиваем счетчик на единицу
++n;
//присваиваем х предыдущее считанное из файла значение и
x = g;
//возвращаемся на строку 8
}
return n;
Объяснение кода листинга программы
- Объявляются две переменные типа double: x и g.
- Объявляется одна переменная типа int и инициализируется нулем: n = 0.
- Проверяется, что значение из файла успешно считалось и преобразовалось в переменную x.
- Если значение успешно считалось, то проверяется, что при следующем считывании значение успешно преобразуется в переменную g.
- Пока значение успешно считывается и g > x, увеличивается счетчик на единицу: ++n.
- Значение x заменяется на последнее успешно считанное значение из файла.
- Возвращается значение n.