Tryb nocny
Funkcje printf i scanf w języku C, formatowanie wejścia i wyjścia
Ta część strony została oznaczona, jakoby była w trakcie konstrukcji. To oznacza, że treść w miejscu tego komunikatu zostanie uzupełniona w najbliższym czasie.
Funkcja printf
Funkcja printf
służy do wyświetlania tekstu do wyjścia standardowego.
Jako pierwszy argument funkcja ta przyjmuje tekst formatujący, czyli tekst, który jest instrukcją, w jaki sposób printf ma wyświetlić zmienne podane w argumentach dodatkowych.
W prostych słowach, printf wyświetla dany tekst, który może również zawierać wartości zmiennych przekazanych w kolejnych argumentach.
c
#include <stdio.h>
void main() {
const char* adresat = "Parzychedu";
printf("Witaj %s\n", adresat);
}
#include <stdio.h>
void main() {
const char* adresat = "Parzychedu";
printf("Witaj %s\n", adresat);
}
Witaj Parzychedu
Witaj Parzychedu
Tekst formatujący
Tekst formatujący jest tekstem, który może zawierać sekwencje specjalne, w miejce których zostanie wykonana odpowiednia operacja.
Wyświetlenie wartości zmiennej
Ta część strony została oznaczona, jakoby była w trakcie konstrukcji. To oznacza, że treść w miejscu tego komunikatu zostanie uzupełniona w najbliższym czasie.
Sekwencja | Typ zmiennej |
---|---|
%i | Liczba całkowita albo zmiennoprzecinkowa |
%s | Napis (ciąg znaków) |
Sekwencja %%
wstawia pojedynczy znak %
.
Znaki specjalne
Przypominamy, że w języku C wstawić możemy znak specjalny poprzez jedną z poniższych sekwencji wewnątrz każdego tekstu (literału).
Sekwencja | Znak specjalny |
---|---|
\n | Znak nowej linii |
\t | Tabulator |
\\ | Ukośnik wsteczny \ |
\" | Cudzysłów podwójny " |
\' | Cudzysłow pojedynczy \ |
\0 | Bajt 0x00 , inaczej znak zwany NUL |
W miejsce sekwencji zostanie wstawiony znak specjalny – specjalny dlatego, że jest trudny do napisania za pomocą standardowej klawiatury.
Bezpieczeństwo funkcji printf
Nie należy przekazywać wartości zmiennych bezpośrednio jako tekst formatujący. Funkcje z rodziny printf
używają metody wstawiania poprzez użycie tekstu formatującego, aby zapobiec niepożądanemu działaniu programu.
c
#include <stdio.h>
void main() {
const char* powitanie = "Witaj Parzychedu";
printf(powitanie);
printf("%s\n", powitanie);
}
#include <stdio.h>
void main() {
const char* powitanie = "Witaj Parzychedu";
printf(powitanie);
printf("%s\n", powitanie);
}
Informacja
Powyższe ostrzeżenie dotyczy szczególnie zmiennych, które mogą być kontrolowane przez użytkownika.
Funkcja scanf
Ta część strony została oznaczona, jakoby była w trakcie konstrukcji. To oznacza, że treść w miejscu tego komunikatu zostanie uzupełniona w najbliższym czasie.