Функция scanf в языке программирования C: Основные принципы
scanf - это функция в языке C, которая позволяет программе считывать данные, введенные пользователем с клавиатуры или из другого источника ввода. Она может использоваться для считывания целых чисел, дробных чисел, символов, строк и других типов данных.
Синтаксис функции scanf выглядит следующим образом:
int scanf(const char *format, ...);
Первый аргумент функции - это строка формата, которая определяет типы данных, которые ожидаются для считывания. Она содержит специальные символы, которые соответствуют каждому типу данных. Например, %d соответствует целым числам, %f - дробным числам, %s - строкам и т.д.
Далее идут переменные, в которые будут сохраняться считанные значения. Они указываются после строки формата в качестве аргументов функции через запятую. Можно указывать любое количество переменных, но они все должны являться указателями.
Например, чтобы считать два целых числа, нужно использовать следующий код:
int num1, num2;
scanf("%d %d", &num1, &num2);
Здесь %d - это строка формата для целых чисел, &num1 и &num2 - указатели на переменные num1 и num2.
Если пользователь введет, например, "10 20", то значение 10 будет сохранено в переменную num1, а значение 20 - в переменную num2.
Если пользователь введет что-то отличное от ожидаемого типа данных, то функция scanf вернет значение -1, что говорит о неудачном считывании.
Также функция scanf поддерживает специальный символ %* который означает что данное значение нужно прочитать, но не сохранять в переменную.
Пример:
int num1, num2;
scanf("%d %*d %d", &num1, &num2);
Первое и третье значение будут сохранены в переменные num1 и num2, но второе значение нет.
Нельзя использовать функцию scanf без указания адресов переменных, в них будут сохранены данные.
Весь код должен выглядеть так:
int main() {
int num1, num2;
printf("Введите два целых числа: ");
scanf("%d %d", &num1, &num2);
printf("Вы ввели числа %d и %d", num1, num2);
return 0;
}
Этот код позволит пользователю ввести два целых числа, которые затем будут выведены на экран.