Formatează șirul
Șirul de format este formatul pentru datele introduse. Acest format începe cu semnul% și este urmat de specificatorul de format. Specificatorul de format este un caracter specific care este utilizat pentru tipul de date care este citit.
arg1, arg2, arg3 ... sunt adresele variabilelor în care vor fi stocate datele introduse.
scanf () Funcție
Sintaxă: int scanf (șir de format, arg1, arg2, arg3 ...)
Unele dintre specificațiile utilizate frecvent sunt după cum urmează:
- d - Folosit pentru valori întregi.
- f - Folosit pentru număr plutitor.
- c - Folosit pentru valoarea unui singur caracter.
- s - Folosit pentru corzi.
Folosind single scanf () funcție, una sau mai multe intrări pot fi preluate de la utilizator.
The scanf () funcția preia intrarea de la intrarea standard (tastatură) și stochează valoarea într-o variabilă. Funcția așteaptă introducerea utilizatorului până când utilizatorul apasă tasta Enter. Valoarea introdusă este stocată într-un buffer. Când este apăsată tasta Enter, scanf () funcția începe să citească.
Exemplul 1: Intrare întreagă
//Exemplu1.c#include
intprincipal(){
inteu;
printf („Introduceți prima valoare întreagă:”);
scanf („% d”, &eu);
printf ('Ai introdus:% d n',Eu);
printf („Introduceți a doua valoare întreagă:”);
scanf („% d”, &eu);
printf ('Ai introdus:% d n',Eu);
întoarcere 0;
}
În Exemplul 1.c, am văzut că atunci când am introdus valori întregi și apăsăm tasta Enter. The scanf () funcția preia valoarea și o stochează în variabilă. Dacă introducem valorile separate prin spațiu, funcția revine atunci când spațiul este întâlnit, dar valorile după spațiu rămân în bufferul de intrare. De aceea a doua scanf () funcția nu va aștepta introducerea utilizatorului, ci va prelua intrarea din buffer.
Exemplul 2: Intrare cu un singur caracter
//Exemplu2.c#include
intprincipal(){
charc;
printf („Introduceți un caracter:”);
scanf („% c”, &c);
printf ('Ai introdus:% c n',c);
întoarcere 0;
}
În Exemplul 2.c, am văzut asta când folosim % c specificator, scanf () funcția ia un singur caracter chiar dacă am introdus mai multe caractere.
Exemplul 3: Intrare cu un singur caracter (mai multe ori)
//Exemplu3.c#include
intprincipal(){
charc;
printf („Introduceți primul caracter:”);
scanf („% c”, &c);
printf ('Ai introdus:% c n',c);
printf („Introduceți al doilea caracter:”);
scanf („% c”, &c);
printf ('Ai introdus:% c n',c);
întoarcere 0;
}
Exemplul 4 :
//Exemplu4.c#include
intprincipal(){
charc;
printf („Introduceți primul caracter:”);
scanf („% c”, &c);
printf ('Ai introdus:% c n',c);
printf („Introduceți al doilea caracter:”);
scanf („% c”, &c);
printf ('Ai introdus:% c n',c);
întoarcere 0;
}
Exemplul 5: Intrare șir
//Exemplu5.c#include
intprincipal(){
charNume[cincisprezece];
printf ('Introdu numele tau: ');
scanf („% s”,Nume);
printf ('Ai introdus:% s n',Nume);
întoarcere 0;
}
Funcția getc ()
Sintaxă: int getc (FILE * stream)
getc () funcția este utilizată pentru a citi un caracter din indicatorul FILE (flux). Pentru a citi de la tastatură, trebuie să folosim stdin . Această funcție returnează o valoare întreagă a caracterului citit.
Exemplul 6:
//Exemplu6.c#include
intprincipal(){
charc;
printf („Introduceți primul caracter:”);
in timp ce((c= getc (stdin))==' n');
printf ('Ai introdus:% c n',c);
in timp ce( getc (stdin)! =' n');
printf („Introduceți al doilea caracter:”);
in timp ce((c= getc (stdin))==' n');
printf ('Ai introdus:% c n',c);
întoarcere 0;
}
Funcția getchar ()
Sintaxă: int getchar (nul)
getchar () funcția este aceeași cu getc () . Singura diferență este că getc () funcția poate citi din orice flux de intrare, în timp ce getchar () funcția citește numai din intrarea standard.
Exemplul 7:
//Exemplu7.c#include
intprincipal(){
charc;
printf („Introduceți primul caracter:”);
in timp ce((c= getchar ())==' n');
printf ('Ai introdus:% c n',c);
in timp ce( getchar ()! =' n');
printf („Introduceți al doilea caracter:”);
in timp ce((c= getchar ())==' n');
printf ('Ai introdus:% c n',c);
întoarcere 0;
}
Concluzie
În acest articol, am văzut cum funcțiile de intrare sunt utilizate în limbajul C. Toate aceste funcții sunt preluate din bufferul de intrare și atunci când folosim aceste funcții de mai multe ori, trebuie să ștergem bufferul. În caz contrar, funcțiile nu vor aștepta introducerea utilizatorului și vor prelua intrarea din buffer.