scanf ja syöte
Lue käyttäjän syötettä.
scanf ja syöte on ilmainen C Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu C Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. C Academy-kurssilla on yhteensä 4 oppituntia.
Mitä scanf tekee
scanf lukee käyttäjän kirjoittamaa muotoiltua syötettä. Se käyttää samoja määritteitä kuin printf.
#include <stdio.h>
int main(void) {
int x = 0;
/* scanf("%d", &x); */
x = 5;
printf("x = %d\n", x);
return 0;
}Osoitteenotto-operaattori
scanf tarvitsee muuttujan osoitteen, jotta se voi tallentaa arvon siihen. Siksi kirjoitetaan &x.
#include <stdio.h>
int main(void) {
int x = 42;
int *p = &x;
printf("value via address = %d\n", *p);
return 0;
}Kokonaisluvun lukeminen
Kokonaisluku luetaan välittämällä %d ja int-muuttujan osoite.
#include <stdio.h>
int main(void) {
int n;
/* scanf("%d", &n); */
n = 7;
printf("You entered %d\n", n);
return 0;
}Liukuluvun lukeminen
Lukekaa float-arvo määritteellä %f ja double-arvo määritteellä %lf.
#include <stdio.h>
int main(void) {
double d;
/* scanf("%lf", &d); */
d = 3.14;
printf("d = %.2f\n", d);
return 0;
}Useiden arvojen lukeminen
Yksi scanf-kutsu voi lukea useita tyhjemerkeillä erotettuja arvoja.
#include <stdio.h>
int main(void) {
int a, b;
/* scanf("%d %d", &a, &b); */
a = 3; b = 4;
printf("sum = %d\n", a + b);
return 0;
}Merkin lukeminen
Käyttäkää %c-määritettä yhden merkin lukemiseen. Huomioikaa, että se lukee myös välilyönnit ja rivinvaihdot.
#include <stdio.h>
int main(void) {
char c;
/* scanf(" %c", &c); */
c = 'X';
printf("char = %c\n", c);
return 0;
}Sanan lukeminen
%s lukee tyhjemerkeillä erotetun sanan char-taulukkoon. &-merkkiä ei tarvita, koska taulukon nimi on jo osoite.
#include <stdio.h>
int main(void) {
char word[20];
/* scanf("%s", word); */
word[0] = 'H'; word[1] = 'i'; word[2] = 0;
printf("word = %s\n", word);
return 0;
}scanf-funktion palautusarvo
scanf palauttaa onnistuneesti luettujen kohteiden määrän. Tarkistakaa palautusarvo virheellisen syötteen havaitsemiseksi.
#include <stdio.h>
int main(void) {
int n = 5;
int read = 1; /* pretend scanf returned 1 */
if (read == 1)
printf("got %d\n", n);
return 0;
}Alussa olevien välilyöntien ohittaminen
Numeeriset määritteet ohittavat alussa olevat tyhjemerkit automaattisesti, mutta %c ei. Välilyönti ennen määritettä %c korjaa tämän.
#include <stdio.h>
int main(void) {
char c = 'Y';
printf("Reading with \" %%c\" skips spaces\n");
printf("c = %c\n", c);
return 0;
}Syötteen tarkistaminen
Tarkistakaa aina palautusarvo ennen kuin luotatte tietoihin.
#include <stdio.h>
int main(void) {
int value = 10;
int ok = 1;
if (ok)
printf("valid: %d\n", value);
else
printf("invalid input\n");
return 0;
}Kokonaisuuden yhdistäminen
Tyypillinen ohjelma pyytää arvon, lukee sen ja käyttää sitä.
#include <stdio.h>
int main(void) {
int age;
printf("Enter age: ");
/* scanf("%d", &age); */
age = 20;
printf("Next year you will be %d\n", age + 1);
return 0;
}Pikatarkistus
Testatkaa, miten hyvin ymmärrätte scanf-funktion.
Kertaus: scanf ja syöte
Opitte lukemaan käyttäjän syötettä.
scanfkäyttää printf-tyylisiä määritteitä- Välittäkää
&var, jotta funktio tietää tallennuspaikan - Käyttäkää
%lf-määritettä double-arvoille ja%s-määritettä sanoille - Tarkistakaa palautusarvo syötteen kelvollisuuden varmistamiseksi
- Laittakaa välilyönti ennen
%c-määritettä ohittaaksenne tyhjemerkit
Opi C tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 39
- Oppitunnit
- 144
Usein kysytyt kysymykset
Onko oppitunti ”scanf ja syöte” ilmainen?
Kyllä – oppitunnin ”scanf ja syöte” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko C Academy-kurssin, päivitä CoddyKit PROhon. C Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”scanf ja syöte”?
Lue käyttäjän syötettä. Harjoittelet C Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni C Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin C Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”scanf ja syöte”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä C Academy-oppitunnilla?
Kyllä. Jokainen C Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.