Разница между scanf и gets

Оглавление:

Разница между scanf и gets
Разница между scanf и gets

Видео: Разница между scanf и gets

Видео: Разница между scanf и gets
Видео: Программирование на Си урок 30: Функции ввода и вывода строк в языке Си 2024, Ноябрь
Anonim

Ключевая разница – scanf vs gets

Функция - это набор операторов для выполнения определенной задачи. Не записывая все операторы в одной программе, ее можно разделить на несколько функций. В программировании пользователь может определять свои собственные функции. Есть также функции, предоставляемые языками программирования. Язык C предоставляет ряд функций, поэтому программист может использовать их напрямую, не реализуя их с самого начала. Две такие функции, предоставляемые языком C, - это scanf и gets. В этой статье обсуждается разница между этими двумя функциями. Ключевое различие между scanf и gets заключается в том, что scanf заканчивает ввод при обнаружении пробела, новой строки или конца файла (EOF), тогда как gets рассматривает пробел как часть входной строки и завершает ввод при обнаружении новой строки или EOF.

Что такое scanf?

Функция scanf может считывать ввод с клавиатуры и сохранять его в соответствии с заданным спецификатором формата. Он считывает ввод до тех пор, пока не встретит пробел, новую строку или конец строки. Синтаксис следующий.

scanf(“строка формата”, список адресов переменных);

Обратитесь к приведенному ниже примеру, чтобы понять scanf.

Разница между scanf и получает
Разница между scanf и получает
Разница между scanf и получает
Разница между scanf и получает

Рисунок 01: scanf с одним вводом

Согласно приведенной выше программе ввод с клавиатуры представляет собой целое число, поэтому спецификатор формата - %d. Если он получает символьное значение, спецификатор формата - %c. При получении значения с плавающей запятой используется спецификатор формата %f. Полученное входное значение должно быть сохранено в переменной number. Поэтому адрес переменной number передается в функцию scanf. Теперь числовая переменная содержит значение, введенное пользователем с клавиатуры. Наконец, мы можем напечатать числовую переменную, чтобы проверить значение.

Также возможно получить более одного значения за раз.

Разница между scanf и gets_Рисунок 02
Разница между scanf и gets_Рисунок 02
Разница между scanf и gets_Рисунок 02
Разница между scanf и gets_Рисунок 02

Рисунок 02: scanf с несколькими входами

Полученные входные данные сохраняются в переменных number1 и number2. Значения можно проверить с помощью printf.

Что получает?

Функция gets используется для получения ввода с клавиатуры до появления новой строки или конца строки. Пробел считается частью ввода. Синтаксис функции gets следующий.

gets(“где хранить строку”);

Если при получении строки произошла ошибка, функция gets вернет нулевое значение.

См. приведенный ниже пример,

Ключевая разница между scanf и gets
Ключевая разница между scanf и gets
Ключевая разница между scanf и gets
Ключевая разница между scanf и gets

Рисунок 03: получает

Ввод принимается функцией gets и сохраняется в переменной word1. Если программист использовал scanf вместо gets и ввел такую строку, как «hello world», то scanf прочитает эту строку как две строки из-за пробелов. Но gets прочитает это как одну строку «hello world».

В чем сходство между scanf и gets?

  • Обе функции предоставляются языком программирования C.
  • Оба должны включать заголовочный файл stdio.h для использования этих функций.
  • Оба варианта могут использоваться для получения ввода из стандартного ввода.

В чем разница между scanf и gets?

scanf vs gets

scanf - это функция C для чтения ввода из стандартного ввода до тех пор, пока не встретится пробел, новая строка или конец строки. gets - это функция C для чтения ввода из стандартного ввода до тех пор, пока не встретится новая строка или конец строки. Он считает пробелы частью ввода.
Синтаксис
Функция scanf принимает строку формата и список адресов переменных. например scanf("%d", &число); Функция gets принимает имя переменной для хранения полученного значения. Например. получает(имя);
Гибкость
scanf может считывать несколько значений разных типов данных. gets() будет получать только данные строки символов.

Резюме – scanf vs gets

scanf и gets - это функции, предоставляемые языком программирования C. Пользователю не нужно реализовывать эти функции с самого начала. Они могут напрямую использовать их в своих программах. Разница между scanf и gets заключается в том, что scanf заканчивает ввод при обнаружении пробела, новой строки или конца файла (EOF), а get рассматривает пробел как часть входной строки и завершает ввод при обнаружении новой строки или EOF. Использование scanf или gets зависит от способа получения пользовательского ввода со стандартного ввода, которым в большинстве случаев является клавиатура. scanf более гибок, чем gets.

Загрузить PDF-версию scanf vs gets

Вы можете загрузить PDF-версию этой статьи и использовать ее в автономном режиме в соответствии с примечанием к цитированию. Пожалуйста, загрузите PDF-версию здесь. Разница между scanf и gets

Рекомендуемые: