logo

Funcția Getchar() în C

În această secțiune, vom învăța funcția getchar() în limbajul de programare C. A getchar() funcția este a non-standard funcţie al cărei sens este deja definit în stdin.h fișier antet pentru a accepta o singură intrare de la utilizator. Cu alte cuvinte, funcția de bibliotecă C este cea care primește un singur caracter (cara fără semn) din stdin. Cu toate acestea, funcția getchar() este similară cu funcția getc(), dar există o mică diferență între funcția getchar() și getc() a acesteia. limbaj de programare C . Un getchar() citește un singur caracter din intrarea standard, în timp ce un getc() citește un singur caracter din orice flux de intrare.

Funcția Getchar() în C

Sintaxă

exemplu de tăiere alfa beta
 int getchar (void); 

Nu are niciun parametru. Cu toate acestea, returnează caracterele citite ca un caracter nesemnat într-un int, iar dacă există o eroare pe un fișier, returnează EOF la finalul dosarului.

Acum scriem mai multe programe cu funcția getchar() pentru a accepta caractere individuale în C și le imprimăm folosind funcția putchar().

Citiți un singur caracter folosind funcția getchar().

Să considerăm un program care să ia un singur folosind funcția getchar() din 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(); } 

Ieșire

 Enter a character A You have passed A 

După cum putem vedea în programul de mai sus, este nevoie de un singur caracter în timpul rulării de la utilizator folosind funcția getchar(). După obținerea caracterului, imprimă litera prin funcția putchar().

Citiți n caractere de la utilizator folosind funcția getchar().

Să considerăm un program care să citească n caractere folosind funcția getchar() din 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; } 

Ieșire

 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: 

După cum putem vedea în rezultatul de mai sus, o buclă while acceptă continuu un caracter de la utilizator până când utilizatorul nu trece caracterul #. Aici funcția getchar() preia un singur caracter din intrarea standard și le atribuie unei variabile ch. În timp ce funcția putchar() imprimă caracterul citit.

Citiți un singur caracter folosind funcția scanf().

Să considerăm un program care să citească un caracter folosind funcția de bibliotecă scanf() din C.

Prog.c

ordonați aleatoriu în sql
 #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; } 

Ieșire

 Enter the character A You have entered A 

După cum putem vedea, atunci când executăm programul de mai sus, este nevoie de un singur caracter sau grup de caractere folosind funcția de bibliotecă scanf() în loc de funcția getchar(). Dar există o mică diferență; o funcție scanf() poate prelua un singur caracter sau un grup de caractere de la utilizator, în timp ce funcția getchar() poate accepta doar un singur caracter.

Aici executăm din nou programul de mai sus și de data aceasta, arată rezultatele de mai jos.

 Enter the character Apple You have entered A 

Citiți personajele folosind o buclă do-while

Să luăm în considerare un program pentru a citi caracterele folosind funcția do while și getchar() în 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; } 

Ieșire

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

În programul de mai sus, o buclă do-while acceptă continuu caracterele până când utilizatorul trece INTRODUCE butonul pentru a ieși din buclă.