Vormindage string
Vormingstring on sisestatud andmete vorming. See vorming algab märgiga % ja sellele järgneb vormingu täpsustaja. Vormingu täpsustaja on konkreetne märk, mida kasutatakse seda tüüpi andmete jaoks, mida loetakse.
arg1, arg2, arg3… on muutujate aadressid, kuhu sisestatud andmed salvestatakse.
scanf () Funktsioon
Süntaks: int scanf (vormindage string, arg1, arg2, arg3 ...)
Mõned sageli kasutatavad spetsifikatsioonid on järgmised.
- d - Kasutatakse täisarvuliste väärtuste jaoks.
- f - kasutatakse ujuva numbri jaoks.
- c - Kasutatakse ühe tähemärgi väärtuse jaoks.
- s - Kasutatakse keelpillide jaoks.
Üksiku kasutamine scanf () funktsiooni, saab kasutajalt võtta ühe või mitu sisendit.
The scanf () funktsioon võtab sisendi tavalisest sisendist (klaviatuur) ja salvestab väärtuse muutujale. Funktsioon ootab kasutaja sisestust, kuni kasutaja vajutab sisestusklahvi. Sisestatud väärtus salvestatakse puhvrisse. Kui sisestusklahvi vajutatakse, scanf () funktsioon hakkab lugema.
Näide 1: Täisarvuline sisend
//Näide1.c#kaasake
intpeamine(){
inti;
printf ('Sisestage esimene täisarv:');
scanf ('%d', &i);
printf ('Sisestasite: %d n',Mina);
printf ('Sisestage teine täisarv:');
scanf ('%d', &i);
printf ('Sisestasite: %d n',Mina);
tagasi 0;
}
Näites 1.c oleme näinud, et täisarvuliste väärtuste sisestamisel ja sisestusklahvi vajutamisel. The scanf () funktsioon võtab väärtuse ja salvestab selle muutujale. Kui sisestame tühikuga eraldatud väärtused, siis funktsioon naaseb tühiku leidmisel, kuid tühiku järel olevad väärtused jäävad sisendpuhvrisse. Sellepärast teine scanf () funktsioon ei oota kasutaja sisestust, vaid võtab sisendi puhvrist.
Näide 2: ühe märgi sisend
//Näide2.c#kaasake
intpeamine(){
süsic;
printf ('Sisestage märk:');
scanf ('% c', &c);
printf ('Sisestasite: %c n',c);
tagasi 0;
}
Näites2.c oleme seda näinud, kui kasutame % c täpsustaja, scanf () funktsioon võtab ainult ühe märgi, isegi kui oleme sisestanud rohkem kui ühe märgi.
Näide 3: ühe märgi sisend (mitu korda)
//Näide3.c#kaasake
intpeamine(){
süsic;
printf ('Sisestage esimene märk:');
scanf ('% c', &c);
printf ('Sisestasite: %c n',c);
printf ('Sisestage teine märk:');
scanf ('% c', &c);
printf ('Sisestasite: %c n',c);
tagasi 0;
}
Näide 4 :
//Näide4.c#kaasake
intpeamine(){
süsic;
printf ('Sisestage esimene märk:');
scanf ('% c', &c);
printf ('Sisestasite: %c n',c);
printf ('Sisestage teine märk:');
scanf ('% c', &c);
printf ('Sisestasite: %c n',c);
tagasi 0;
}
Näide 5: Stringi sisend
//Näide5.c#kaasake
intpeamine(){
süsinimi[viisteist];
printf ('Sisestage oma nimi: ');
scanf ('%s',nimi);
printf ('Sisestasite: %s n',nimi);
tagasi 0;
}
Funktsioon getc ()
Süntaks: int getc (FILE *voog)
getc () funktsiooni kasutatakse tähemärgi lugemiseks osast FILE (voog). Klaviatuurilt lugemiseks peame kasutama stdin . See funktsioon tagastab lugemismärgi täisväärtuse.
Näide 6:
//Näide6.c#kaasake
intpeamine(){
süsic;
printf ('Sisestage esimene märk:');
samas((c= getc (stdin))==' n');
printf ('Sisestasite: %c n',c);
samas( getc (stdin)! =' n');
printf ('Sisestage teine märk:');
samas((c= getc (stdin))==' n');
printf ('Sisestasite: %c n',c);
tagasi 0;
}
Funktsioon getchar ()
Süntaks: int getchar (tühine)
getchar () funktsioon on sama mis getc () . Ainus erinevus on see getc () funktsiooni saab lugeda mis tahes sisendvoost, samas kui getchar () funktsioon loeb ainult standardsisendist.
Näide 7:
//Näide7.c#kaasake
intpeamine(){
süsic;
printf ('Sisestage esimene märk:');
samas((c= saak ())==' n');
printf ('Sisestasite: %c n',c);
samas( saak ()! =' n');
printf ('Sisestage teine märk:');
samas((c= saak ())==' n');
printf ('Sisestasite: %c n',c);
tagasi 0;
}
Järeldus
Selles artiklis oleme näinud, kuidas sisendfunktsioone kasutatakse C -keeles. Kõik need funktsioonid võetakse sisendpuhvrist ja kui me neid funktsioone mitu korda kasutame, peame puhvri tühjendama. Vastasel juhul ei oota funktsioonid kasutaja sisendit ega võta puhvrist sisendit.