Vent på brukerinngang: C Språk

Wait User Input C Language



I programmeringsspråk C er det noen inngangsfunksjoner. Ved å bruke disse funksjonene kan vi vente på brukerinngang. I denne opplæringen skal vi diskutere inngangsfunksjonene i detaljer.

Format streng

Formatstreng er formatet for angitte data. Dette formatet starter med % sign og etterfulgt av formatspesifikator. Formatspesifikator er et spesifikt tegn som brukes til hvilken type data som leses.







arg1, arg2, arg3 ... er adressene til variablene der de angitte dataene vil bli lagret.



scanf () Funksjon

Syntaks: int scanf (formatstreng, arg1, arg2, arg3 ...)



Noen av de ofte brukte spesifikasjonene er som følger:





  • d - Brukes for heltallsverdier.
  • f - Brukes til flytende nummer.
  • c - Brukes for verdi for ett tegn.
  • s - Brukes til strenger.

Bruker singel scanf () funksjon, kan en eller flere innganger tas fra brukeren.

De scanf () funksjonen tar input fra standardinngangen (tastatur) og lagrer verdien i en variabel. Funksjonen venter på brukerinndata til brukeren trykker på enter -tasten. Den angitte verdien lagres i en buffer. Når du trykker på enter -tasten, scanf () funksjonen begynner å lese.



Eksempel 1: Heltall inngang

//Eksempel1.c
#inkludere

inthoved-(){

intJeg;
printf ('Skriv inn første heltallsverdi:');
scanf ('%d', &Jeg);
printf ('Du skrev: %d n',Jeg);

printf ('Skriv inn andre heltallsverdi:');
scanf ('%d', &Jeg);
printf ('Du skrev: %d n',Jeg);

komme tilbake 0;
}

I eksempel1.c har vi sett at når vi skrev inn heltallverdier og trykker på enter -tasten. De scanf () funksjon tar verdien og lagrer den i variabelen. Hvis vi angir verdiene atskilt med mellomrom, returnerer funksjonen når det oppstår plass, men verdiene etter mellomrom forblir i inndatabufferen. Derfor den andre scanf () funksjonen vil ikke vente på brukerinndata, i stedet tar den input fra bufferen.

Eksempel 2: Enkelttegn

//Eksempel2.c
#inkludere

inthoved-(){

røyec;
printf ('Skriv inn et tegn:');
scanf ('% c', &c);
printf ('Du skrev: %c n',c);

komme tilbake 0;
}

I eksempel2.c har vi sett det når vi bruker % c spesifiserer, scanf () funksjonen tar bare ett tegn selv om vi har angitt mer enn ett tegn.

Eksempel 3: Enkelttegn (flere ganger)

//Eksempel3.c
#inkludere

inthoved-(){

røyec;
printf ('Skriv inn første tegn:');
scanf ('% c', &c);
printf ('Du skrev: %c n',c);

printf ('Skriv inn andre tegn:');
scanf ('% c', &c);
printf ('Du skrev: %c n',c);

komme tilbake 0;
}

Eksempel 4 :

//Eksempel4.c
#inkludere

inthoved-(){

røyec;
printf ('Skriv inn første tegn:');
scanf ('% c', &c);
printf ('Du skrev: %c n',c);

printf ('Skriv inn andre tegn:');
scanf ('% c', &c);
printf ('Du skrev: %c n',c);

komme tilbake 0;
}

Eksempel 5: String Input

//Eksempel5.c
#inkludere

inthoved-(){

røyeNavn[femten];
printf ('Skriv inn navnet ditt: ');
scanf ('%s',Navn);
printf ('Du skrev: %s n',Navn);

komme tilbake 0;
}

getc () Funksjon

Syntaks: int getc (FILE *stream)

getc () funksjonen brukes til å lese et tegn fra FILE -pekeren (strømmen). For å lese fra tastaturet må vi bruke stdin . Denne funksjonen returnerer en heltallsverdi for lesetegn.

Eksempel 6:

//Eksempel6.c
#inkludere

inthoved-(){

røyec;
printf ('Skriv inn første tegn:');
samtidig som((c= getc (stdin))==' n');
printf ('Du skrev: %c n',c);

samtidig som( getc (stdin)! =' n');

printf ('Skriv inn andre tegn:');
samtidig som((c= getc (stdin))==' n');
printf ('Du skrev: %c n',c);

komme tilbake 0;
}

getchar () Funksjon

Syntaks: int getchar (ugyldig)

getchar () funksjonen er den samme som getc () . Den eneste forskjellen er det getc () -funksjonen kan lese fra hvilken som helst inngangsstrøm, mens getchar () funksjonen leser bare fra standardinngang.

Eksempel 7:

//Eksempel7.c
#inkludere

inthoved-(){

røyec;
printf ('Skriv inn første tegn:');
samtidig som((c= getchar ())==' n');
printf ('Du skrev: %c n',c);

samtidig som( getchar ()! =' n');

printf ('Skriv inn andre tegn:');
samtidig som((c= getchar ())==' n');
printf ('Du skrev: %c n',c);

komme tilbake 0;
}

Konklusjon

I denne artikkelen har vi sett hvordan inngangsfunksjoner brukes på C -språk. Alle disse funksjonene hentes fra inputbufferen, og når vi bruker disse funksjonene flere ganger, må vi fjerne bufferen. Ellers vil ikke funksjonene vente på brukerinngang og ta input fra bufferen.