Функции gets, puts, atoi, atol и atof

Функции printf() и scanf() используют спецификации формата, указывающие формат и тип данных, которые должны быть напечатаны или введены. Если данные, введенные с помощью функции scanf(), не соответствуют строке формата, то функция может вести себя непредсказуемо. Иногда проще воспользоваться функцией gets(), которая читает вводимые символы (включая пробелы) в объявленную в программе строку символов (максимально возможное количество символов в ней задается в квадратных скобках, но не более 80). Если же должно быть введено число, то можно затем вызвать функцию atoi(), atol() или atof() для преобразования введенной строки соответственно в целое, длинное целое или вещественное число. Эти функции описаны в библиотеке stdlib.h, поэтому для их использования необходимо подключить эту библиотеку. Функция puts() выводит на экран строку символов.

Пример использования функций gets(), puts(), atoi().

Ввести имя и целое число как строки символов с помощью функции gets(), введенную строку с целым числом преобразовать в целое число с помощью функции atoi() и выдать на экран с помощью функции printf().

#include <stdio.h> // В stdio.h описаны printf, gets

#include <stdlib.h> // В stdlib.h описана atoi

int main()

{

char name[40], // Строка символов для имени, состоящая из 40 символов, в введенной строке должно быть не более 39 символов, так как символ ’\0’ (конец строки) является обязательным

sage[40]; // Строка символов для возраста

int age=0; // Целое число для возраста

puts(“Пожалуйста, введите Ваше имя: “);

gets(name);

printf(“Привет, %s! Cколько Вам лет? ”, name);

gets(sage);

age=atoi(sage); // Преобразование строки символов в целое число

printf(“Возраст %d, конечно, самый замечательный!”,age);

return 0;

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: