C/Podstawowe procedury wejścia i wyjścia: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
m →Funkcja scanf(): linki |
m →Funkcja scanf(): akceptuje |
||
Linia 173:
Oznaczenia są podobne takie jak przy printf(), czyli <tt>scanf("%i", &liczba);</tt> wczytuje liczbę typu <tt>int</tt>, <tt>scanf("%f", &liczba);</tt> – 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]].
{{Uwaga|Brak etki jest częstym błędem szczególnie wśród początkujących programistów. Ponieważ [[C/scanf|funkcja scanf()]] akceptuje [[C/Funkcje#Zmienna_liczba_argumentów|
Należy jednak uważać na to ostatnie użycie. Rozważmy na przykład poniższy kod:
|