Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

scanf-funktio

Wiki Markupscanf-funktiolla voidaan syöttää tietoa ohjelman muuttujille :

No Format

scanf("tyypin muotoilu", muuttujan1_osoite,

...

 muuttujan2_osoite,

...

 ...);

...


tyypin muotoilu:

muotoilu

tyyppi

selitys

%c

char

yksi merkki

%s

char[]

merkkijono (päättyy NULL-merkkiin)

%d

int

kokonaisluku

%i

int

kokonaisluku

%u

unsigned int

etumerkitön kokonaisluku

%l

long

pitkä kokonaisluku

%f

float

reaaliluku

%lf

double

kaksoistarkkuuden reaaliluku

Huom! scanf ottaa aina parametrikseen muuttujan osoitteen ja siksi scanf()-funktion kanssa kannattaa olla hyvin varovainen, jos ohjelman käyttäjä antaa esimerkiksi lukua esimerkiksi lukua kysyttäessä kirjaimen, todennäköisesti ohjelma "kaatuu". Wiki Markup      

Yhden kokonaisluvun lukeminen käyttäjältä:

No Format

    int Luku;

...

    printf("Anna jokin luku: ");

...

    scanf("%d", &Luku);

...

Sadan merkin merkkijonon lukeminen käyttäjältä:

No Format

    char Merkkeja

...

[

...

101]; // viimeinen merkki, 101. merkki on varattu lopettavalle NULL-merkille.
    printf("Anna merkkejä. max 100: 

...

");

...

    scanf("%s", Merkkeja);

...

scanf()-funktiolla voidaan myös kysellä useita asioita samalla kertaa:

No Format

    scanf("%s %d", Merkkeja, &luku);

Merkkeja muuttujan eteen ei laiteta &-merkkiä, koska se on jo osoite merkkijonoon. (Taulukon nimi on aina osoitin taulukon alkuun)