C/Podstawowe procedury wejścia i wyjścia: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Nie podano opisu zmian
Linia 153:
</source>
 
Zauważyłeś, że w tej funkcji przy zmiennej pojawił się nowy operator - '''&''' ('''etka'''). Jest on ważny, gdyż bez niego funkcja scanf() nie skopiuje odczytanej wartości liczby do odpowiedniej zmiennej! Właściwie oznacza przekazanie do funkcji adresu zmiennej, by funkcja mogła zmienić jej wartość. Nie musisz teraz rozumieć, jak to się odbywa, wszystko zostanie wyjaśnione w rozdziale [[C/Wskaźniki|Wskaźniki]].
 
Oznaczenia są podobne takie jak przy printf(), czyli <tt>scanf("%i", &liczba);</tt> wczytuje liczbę typu <tt>int</tt>, <tt>scanf("%f", &liczba);</tt> &ndash; liczbę typu <tt>float</tt>, a <tt>scanf("%s", tablica_znaków);</tt> ciąg znaków. Ale czemu w tym ostatnim przypadku nie ma etki? Otóż, gdy podajemy jako argument do funkcji wyrażenie typu tablicowego zamieniane jest ono automatycznie na adres pierwszego elementu tablicy. Będzie to dokładniej opisane w rozdziale poświęconym [[C/Wskaźniki|wskaźnikom]].