Функция языка Си gets
Ввод данных — это предоставление компьютеру информации, необходимой для работы программы. Вводимая информация присваивается переменным и хранится в памяти компьютера. В программе переменная используется в операциях и выражениях.
Функция Си gets() помещает в переменную вводимую строку. В качестве параметра функции указывается имя переменной, в которую и помещается строка.
main() { char name[15]; puts(“введите имя”); gets(name); puts(name); } |
var name:string; begin writeln('введите имя'); readln(name); writeln(name); end. |
Функция языка Си getchar
Функция Си getchar() запрашивает с клавиатуры единичный символ и практически для всех компиляторов безразлично, к какому типу (char или int) относится данный символ.
Вызов функции getchar осуществляется другим способом. Параметра у нее нет, но указать круглые пустые скобки после имени функции надо обязательно. Вызов происходит как присваивание какой-то переменной значения функции. Т.е. слева указывается переменная и ей присваивается значение функции, указанной справа.
#include <stdio.h> main() { int bukva; puts("введите букву"); bukva=getchar(); putchar(bukva); putchar('\n'); printf("%c", bukva); } |
Для сравнения выполним ту же задачу с функцией Си gets():
main() { char bukva; puts("введите букву"); gets(bukva); printf("%s", bukva); } |
Функция языка Си scanf
Функция Си scanf () является более многогранной функцией, так как позволяет вводить в компьютер данные любых типов.
По аналогии с функцией printf() функция Си scanf() тоже может иметь несколько аргументов, позволяя тем самым вводить значения числовых, символьных и строковых переменных в одно и то же время.
Список параметров функции scanf() состоит из двух частей: строки формата и списка данных. В строке формата находятся указатели формата (преобразователи символов, после знака процента), которые определяют то, каким образом должны быть интерпретированы вводимые данные. Вторая часть функции — список данных, в котором перечисляются переменные, в которые должны быть занесены вводимые значения. Порядок следования указателей формата и переменных должен быть одинаков.
Указатели формата аналогичны тем, которые используются функцией printf.
main() { float amount; scanf("%f", &amount) } |
var amount:real; begin readln(amount) end. |
main() { char initial; initial = gets(); puts(initial); } |
... char name[12]; int age; ... |