previous next Up Title Contents Index

Esimerkki 1

Olkoot ohjelmassa seuraavat rivit:

    printf ("Anna luku: ");
    scanf ("%d", &luku);
    printf ("Anna kirjain:");
    scanf ("%c", &merkki);

Kun käyttäjältä on pyydetty lukua, hän syöttää jonkin luvun ja painaa ENTER-näppäintä.

Toimenpiteen seurauksena tietokoneen näppäimistöpuskuriin siirtyvät sekä annettu luku että ENTER-näppäimen koodiarvo.

Ohjelma toimii näppäimistöpuskuria lukiessaan seuraavasti: scanf() lopettaa näppäimistöpuskurin läpikäymisen eli selauksen (scan) välittömästi siihen kohtaan, mihin syötetty luku loppuu.

Näin ollen ENTER-näppäimen koodiarvo jää näppäimistöpuskuriin ja seuraava scanf() lukee merkkimuuttujalle vastaus väärän arvon (=ENTER-näppäimen koodi). Näin ollen käyttäjä ei koskaan pääse syöttämään kirjainarvoa muuttujalle merkki.

previous next Up Title Contents Index