logo

Getchar() funktion i C

I det här avsnittet kommer vi att lära oss funktionen getchar() i programmeringsspråket C. A getchar() funktionen är en icke-standard funktion vars innebörd redan är definierad i stdin.h header-fil för att acceptera en enskild input från användaren. Med andra ord är det C-biblioteksfunktionen som får ett enda tecken (osignerat tecken) från stdin. Men getchar()-funktionen liknar getc()-funktionen, men det finns en liten skillnad mellan getchar()- och getc()-funktionen för C programmeringsspråk . En getchar() läser ett enstaka tecken från standardinmatning, medan en getc() läser ett enstaka tecken från vilken indataström som helst.

Getchar() funktion i C

Syntax

 int getchar (void); 

Den har inga parametrar. Den returnerar dock de lästa tecknen som ett osignerat tecken i en int, och om det finns ett fel på en fil, returnerar den EOF i slutet av filen.

Nu skriver vi flera getchar()-funktionsprogram för att acceptera enstaka tecken i C och skriva ut dem med putchar ()-funktionen.

mb vs gb

Läs ett enstaka tecken med funktionen getchar().

Låt oss överväga ett program för att ta en singel med funktionen getchar() i C.

Program.c

 #include #include void main() { char c; printf ('
 Enter a character 
'); c = getchar(); // get a single character printf(' You have passed '); putchar(c); // print a single character using putchar getch(); } 

Produktion

 Enter a character A You have passed A 

Som vi kan se i programmet ovan tar det ett enda tecken vid körningstiden från användaren som använder getchar()-funktionen. Efter att ha fått tecknet skriver den ut bokstaven genom putchar()-funktionen.

Läs n tecken från användaren med getchar()-funktionen

Låt oss överväga ett program för att läsa n tecken med funktionen getchar() i C.

Getchar.c

 #include #include #include int main() { char ch; printf (' Enter a character ( If we want to exit press #) 
'); while (ch != '#') /* accept the number till the user does not enter the # to exit from the loop. */ { ch = getchar(); printf (' 
 We have entered the character : '); putchar (ch); // print a single character printf ('
'); } return 0; } 

Produktion

 Enter a character ( If we want to exit.. press #) A We have entered the character: A We have entered the character: B We have entered the character: B We have entered the character: C We have entered the character: C We have entered the character: 

Som vi kan se i ovanstående utdata, accepterar en while loop kontinuerligt ett tecken från användaren tills användaren inte passerar #-tecknet. Här tar funktionen getchar() ett enda tecken från standardinmatningen och tilldelar dem till en ch-variabel. Medan putchar()-funktionen skriver ut det lästa tecknet.

Läs ett enstaka tecken med scanf()-funktionen

Låt oss överväga ett program för att läsa ett tecken med hjälp av biblioteksfunktionen scanf() i C.

Prog.c

java filterström
 #include #include int main() { char ch; printf ('
 Enter the character 
'); scanf ('%c', &ch); // get a single character, numeric or words printf( ' You have entered %c', ch); /* It print a single character or first letter of the words. */ return 0; } 

Produktion

 Enter the character A You have entered A 

Som vi kan se, när vi kör ovanstående program, tar det ett enda tecken eller en grupp av tecken med hjälp av biblioteksfunktionen scanf() istället för getchar()-funktionen. Men det är en liten skillnad; en scanf()-funktion kan ta en enda eller grupp av tecken från användaren, medan getchar()-funktionen bara kan acceptera det enstaka tecknet.

Här kör vi återigen ovanstående program, och den här gången visar det nedanstående resultat.

 Enter the character Apple You have entered A 

Läs karaktärerna med hjälp av en do-while loop

Låt oss överväga ett program för att läsa tecknen med funktionen do while och getchar() i C.

Dowhile1.c

 #include #include int main() { int ch, i = 0; char str[150]; printf (' Enter the characters from the keyboard (Press Enter button to stop).
'); // use do while loop to define the condition do { ch = getchar(); // takes character, number, etc from the user str[i] = ch; // store the ch into str[i] i++; // increment loop by 1 } while (ch != '
'); // ch is not equal to '
' printf('Entered characters are %s ', str); return 0; } 

Produktion

 Enter the characters from the keyboard (Press Enter button to stop). Well b47gvb come Entered characters are Well b47gvb come 

I programmet ovan accepterar en do-while loop kontinuerligt tecknen tills användaren passerar STIGA PÅ knappen för att lämna slingan.

java listor