Інструкція 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’ в кінці? Це переклад рядка. Без нього ваш наступний висновок може злипнутись з поточним.

Здається простим. Так і є. Але це є фундамент. Все інше будується на цьому.

Ви можете перенаправити цей висновок. Ви можете форматувати числа з плаваючою точкою, рядки, шістнадцяткові значення. Але треба починати звідси.