Инструкция printf — это ваш основной инструмент для отправки данных в стандартный вывод. В большинстве сред разработки это означает экран терминала. Вы можете перенаправить этот вывод в файлы или каналы (pipes), но для обучения достаточно знать, что он отображается на экране.

Ниже приведен практический пример, демонстрирующий работу функции в реальной программе на C.

Написание кода

Сохраните следующий код в файл с именем add.c.

Компиляция и запуск

Перед запуском этот код необходимо скомпилировать. Используйте компилятор GCC с флагом -o для указания имени исполняемого файла.

Выполните эту команду в терминале:
gcc add.c -o add

Затем запустите программу:
./add

Результат будет следующим:
5 + 7 = 12

Разбор логики

Программа выполняет четыре различных действия перед тем, как что-либо вывести.

1. Объявление переменных
Строка int a, b, c; создает три целочисленные переменные. Целые числа (int) хранят целые значения. Они не поддерживают десятичные дроби или дроби.

2. Инициализация
Следующие две строки присваивают значения первым двум переменным.
a = 5;
b = 7;

3. Присваивание и арифметика
Строка c = a + b; выполняет вычисление. Компьютер берет значение a (5) и прибавляет к нему значение b (7). Результат равен 12. Это значение затем сохраняется в переменной c. Знак равенства здесь является оператором присваивания. Он не означает «равно» в математическом смысле. Он означает «поместить результат выражения справа в переменную слева».

4. Форматирование вывода
Здесь вступает в действие printf. Функция выводит строку "5 + 7 = 12" на экран. Она делает это, сопоставляя заполнители в строке формата с переменными, перечисленными в конце.

Строка формата содержит три заполнителя %d.
— Первый %d соответствует переменной a.
— Второй %d соответствует переменной b.
— Третий %d соответствует переменной c.

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

Почему это важно

Вы можете спросить, почему бы просто не вывести числа напрямую. Жестко закодированная инструкция printf("5 + 7 = 12\n"); работает для статических значений. Она полностью перестает работать, когда переменные меняются. Спецификатор %d позволяет вашему коду оставаться гибким. Вы один раз задаете структуру, а переменные подставляют свои значения во время выполнения. Именно разделение между форматом и данными делает форматированный вывод таким мощным.

Символ \n — это еще одна деталь, которую часто упускают из виду. Без