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

Вот базовая программа, демонстрирующая принцип ее работы.

Сохраните этот код в файл add.c. Скомпилируйте его с помощью команды gcc add.c -o add. Запустите, введя ./add.

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

Давайте разберемся, что происходит «под капотом».

Объявление и присваивание переменных

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

Далее a = 5; инициализирует переменную a значением 5.

Затем b = 7; присваивает переменной b значение 7.

Следующая строка — это место, где оператор присваивания выполняет свою работу: c = a + b;.

Компьютер берет значение из a (которое равно 5). Прибавляет к нему значение из b (которое равно 7). Результат равен 12. Затем он помещает это новое значение в переменную c.

Теперь переменной c присвоено значение 12.

Как printf сопоставляет заполнители

Инструкция printf выводит строку «5 + 7 = 12».

Посмотрите на строку формата: "%d + %d = %d\n".

Заполнители %d действуют как слоты для значений. Здесь их три. В конце строки printf вы видите три имени переменных: a, b и c.

C сопоставляет их по порядку.

Первый %d соответствует a. Он заменяется на 5.

Второй %d соответствует b. Он заменяется на 7.

Третий %d соответствует c. Он заменяется на 12.

Знаки плюса, знак равенства и пробелы являются частью самой строки формата. Они автоматически вставляются между операторами %d именно так, как вы указали их в коде.

Итог? Чистая строка текста на вашем экране.

Почему это важно? Потому что форматирование вывода — это способ отладки. Как вы узнаете, работает ли ваша логика, если не можете увидеть числа? printf подскажет вам.

Но дело не только в выводе. Речь идет о контроле. Вы решаете, что видит пользователь. Вы решаете, как представляются данные.

Что означает \n в конце? Это перевод строки. Без него ваш следующий вывод может слипнуться с текущим.

Кажется простым. Так и есть. Но это фундамент. Все остальное строится на этом.

Вы можете перенаправить этот вывод. Вы можете форматировать числа с плавающей точкой, строки, шестнадцатеричные значения. Но начинать нужно отсюда.