Instrukcja printf jest głównym narzędziem do wysyłania danych na standardowe wyjście. W większości środowisk programistycznych oznacza to ekran terminala. Możesz przekierować to wyjście do plików lub potoków, ale dla celów edukacyjnych wystarczy wiedzieć, że jest ono wyświetlane na ekranie.

Poniżej znajduje się praktyczny przykład pokazujący działanie funkcji w prawdziwym programie C.

Pisanie kodu

Zapisz następujący kod w pliku o nazwie add.c.

Kompilowanie i uruchamianie

Kod ten należy skompilować przed uruchomieniem. Użyj kompilatora GCC z flagą -o, aby określić nazwę pliku wykonywalnego.

Uruchom to polecenie w terminalu:
gcc dodaj.c -o dodaj

Następnie uruchom program:
./dodaj

Wynik będzie następujący:
5 + 7 = 12

Analiza logiki

Program wykonuje cztery różne akcje przed wyświetleniem czegokolwiek.

1. Deklarowanie zmiennych
Linia „int a, b, c;” tworzy trzy zmienne całkowite. Liczby całkowite (int) przechowują wartości całkowite. Nie obsługują ułamków dziesiętnych ani ułamków zwykłych.

2. Inicjalizacja
Kolejne dwie linie przypisują wartości dwóm pierwszym zmiennym.
a = 5;
b = 7;

3. Przypisanie i arytmetyka
Linia „c = a + b;” wykonuje obliczenia. Komputer przyjmuje wartość „a” (5) i dodaje do niej wartość „b” (7). Wynikiem jest 12. Wartość ta jest następnie zapisywana w zmiennej „c”. Znak równości jest tutaj operatorem przypisania. Nie oznacza to „równego” w sensie matematycznym. Oznacza to „umieść wynik wyrażenia po prawej stronie w zmiennej po lewej stronie”.

4. Formatowanie wyjściowe
Tutaj w grę wchodzi „printf”. Funkcja wyświetla na ekranie ciąg znaków “5 + 7 = 12”. Robi to poprzez dopasowywanie symboli zastępczych w ciągu formatującym do zmiennych wymienionych na końcu.

Ciąg formatujący zawiera trzy symbole zastępcze %d.
– Pierwsze %d odpowiada zmiennej a.
– Drugie %d odpowiada zmiennej b.
– Trzecie %d odpowiada zmiennej c.

C zastępuje każdy symbol zastępczy bieżącą wartością odpowiedniej zmiennej. Znaki plus, znaki równości i spacje są na stałe zakodowane w ciągu formatującym. Pojawiają się dokładnie tam, gdzie je wpisałeś. Sekwencja \n na końcu wymusza dodanie nowej linii po wyjściu.

Dlaczego to jest ważne?

Możesz zapytać, dlaczego nie po prostu wypisać liczb bezpośrednio. Zakodowana na stałe instrukcja printf("5 + 7 = 12\n"); działa w przypadku wartości statycznych. Przestaje działać całkowicie, gdy zmienne się zmieniają. Specyfikator %d pozwala zachować elastyczność kodu. Strukturę definiujesz raz, a zmienne podmieniają ich wartości w czasie wykonywania. To właśnie oddzielenie formatu od danych sprawia, że ​​sformatowane dane wyjściowe są tak potężne.

Znak \n to kolejny szczegół, który często jest pomijany. Bez