38950

38950



70


ROZDZIAŁ JO. PODSTAWOWE PROCEDURY WEJŚCIA I WYJŚCIA

rozumiesz    j>ojęcia takie jak tablica czy ciąg znaków staną się dla Ciebie jasne w

miarę czytania kolejnych rozdziałów. W linijce 2 wywołujemy funkcję scanf(), która odczytuje tekst ze standardowego wejścia. Nie zna ona jednak rozmiaru tablicy i nie wie ile znaków może ona przecltować przez co będzie czytać tyle znaków, aż na]x>tka biały znak (format %s nakazuje czytanie pojedynczego słowa), co może doprowadzić do przc|>cłnicnia bufora. Niebezpieczne skutki czegoś takiego opisane są w rozdziale poświęconym napisom. Na chwilę obecną musisz zapamiętać, żeby zaraz jm> znaku procentu podawać maksymalną liczbę znaków', które może przechować bufor, czyli liczbę o jeden mniejszą, niż rozmiar tablicy. Bezpieczna wersją powyższego kodu jest:

#include <stdio.h>

int main(void)

{

char tablica[100]; scanf ('"/,99s", tablica); return 0;

>

Funkcja scanf() zwraca liczl>ę poprawnie wczytanych zmiennych lub EOF jeżeli nie ma już danych w strumieniu lub nastąpi! błąd. Załóżmy dla przykładu, że chcemy stworzyć program, który odczytuje jx> kolei liczby i wypisuje ich 3 potęgi. W pewnym momencie dane się kończą lub jest wprowadzana niepoprawna dana i wówczas nasz program powinien zakończyć działanie. Aby to zrobić, należy sprawdzać wartość zwracaną pr/ez funkcję scanf() w warunku pętli:

#include <stdio.h>

int main(void)

{

int n;

ubile (scanf("%d", &n)««l) { printf (">Cd\n", n*n*n);

>

return 0;

>

Podobnie możemy napisać program, który wczytuje po dwie liczby i je sumuje: tfinclude <stdio.h>

int main(void)

{

int a, b;

uhile (scanf ("JCd */,d", &a, Ab)««2) { printf("yto\n", a+b);

>

return 0;

>

Rozpatrzmy teraz trochę bardziej skomplikowany przykład. Otóż. ponownie jak poprzednio nasz program będzie wypisywał 3 potęgę podanej liczby, ale tym razem



Wyszukiwarka

Podobne podstrony:
66 ROZDZIAŁ JO. PODSTAWOWE PROCEDURY WEJŚCIA I WYJŚCIAFunkcje wyjścia Funkcja printf W przykładzie
68 ROZDZIAŁ JO. PODSTAWOWE PROCEDURY WEJŚCIA I WYJŚCIA W swoim działaniu funkcja ta jest w zasadzie
72 ROZDZIAŁ JO. PODSTAWOWE PROCEDURY WEJŚCIA I WYJŚCIA czyta tekst aż do napotkania znaku przejścia
Rozdział 10Podstawowe procedury wejścia i wyjściaWejście/wyjście Komputer byłby całkowicie
Image163 Parametry statyczne i dynamiczne Podstawowe charakterystyki wejściowe i wyjściowe pamięci p
ROZDZIAŁ DRUGIPAŃSTWO Podstawy syntezy dziejów Polski, rozumianej jako koncepcja tożsamości politycz
BIOS (akronim ang. Basic Input/Output System - podstawowy system wejścia-wyjścia) - zapisany w pamię
7 DRUKOWANIE W tym rozdziale opisano podstawową procedurę drukowania i sposób wybrania ustawień ster
DRUKOWANIE W tym rozdziale opisano podstawową procedurę drukowania i sposób wybrania ustawień sterow
Image601 —    rozdzielenie szyn danych wejściowych i wyjściowych, —
Rozdział 1. • Proste operacje wejścia-wyjścia 13 Przykładowe rozwiązanie — listing 1.4 package
Rozdział 1. • Proste operacje wejścia-wyjścia 15 ZADANIE 1.6 Napisz program, który oblicza resztę z
Rozdział 1. • Proste operacje wejścia-wyjścia 17 Rezultat działania programu można zobaczyć na rysun
Proste operacje wejścia-wyjścia W tym rozdziale zamieszczono proste zadania wraz z przykładowymi
Rozdział 1. • Proste operacje wejścia-wyjścia 9 package zadani ell; //Zadanie l.l1 Linijka kodu doub
Rozdział 1. • Proste operacje wejścia-wyjścia    11 Przykładowe rozwiązanie

więcej podobnych podstron