Что за условие в скобках - C (СИ)

Узнай цену своей работы

Формулировка задачи:

 while(1 != scanf("%d", &n))
Подскажите, уважаемые. Не могу понять. Что за условие в скобках? 1!=...

Решение задачи: «Что за условие в скобках»

textual
Листинг программы
#include <stdio.h>
int main()
{
    int N=10, n, largest, prelargest, count = 0;
    while(count < N)
    {
        while(1 != scanf("%d", &n))
            {
            puts("Incorrect entering data!Try again.");
            while(getchar() != '\n');
            }
 
        if(count==0)
          {
            largest = prelargest = n;
          }
        else{
            if(n > largest)
                {
                prelargest = largest;
                largest = n;
                }
 
        else
        {
        if(count == 1)
        prelargest = n;
        if(n > prelargest)
        prelargest = n;
        }
 
            }
        count++;
    }
    printf("\nLargest = %d Prelargest = %d\n", largest, prelargest);
    return 0;
}

Объяснение кода листинга программы

  1. Объявлены переменные: N, n, largest, prelargest, count. N - количество вводимых чисел, n - текущее вводимое число, largest и prelargest - для хранения наибольшего и предыдущего наибольшего числа соответственно, count - счетчик вводимых чисел.
  2. В цикле while(count < N) происходит ввод чисел от пользователя с помощью scanf и проверка корректности ввода с помощью условия while(1 != scanf(%d, &n)). Если ввод некорректен, выводится сообщение об ошибке и с помощью while(getchar() != '\n') удаляется символ новой строки из буфера ввода.
  3. Если count == 0, то largest и prelargest устанавливаются равными введенному числу n.
  4. В остальных случаях, если n больше largest, то prelargest становится равным largest, а largest становится равным n. Если n меньше или равно largest, то prelargest становится равным n.
  5. После окончания цикла выводятся значения largest и prelargest.
  6. Возвращается 0, что означает успешное завершение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы