Warten Sie auf Benutzereingabe C -Sprache

Warten Sie auf Benutzereingabe C -Sprache
In der C -Programmiersprache gibt es einige Eingabefunktionen. Mit diesen Funktionen können wir auf Benutzereingaben warten. In diesem Tutorial werden wir die Eingabefunktionen im Detail diskutieren.

Formatzeichenfolge

Die Formatzeichenfolge ist das Format für eingegebene Daten. Dieses Format beginnt mit % Sign und gefolgt vom Formatspezifizierer. Formatspezifizierer ist ein spezifisches Zeichen, das dafür verwendet wird, welche Art von Daten gelesen wird.

Arg1, Arg2, Arg3… sind die Adressen der Variablen, in denen die eingegebenen Daten gespeichert werden.

scanf () Funktion

Syntax: int scanf ("Format String", Arg1, Arg2, Arg3…)

Einige der häufig verwendeten Spezifizierer sind wie folgt:

  • D - Wird für Ganzzahlwerte verwendet.
  • F - Wird für die schwimmende Nummer verwendet.
  • C - Wird für den einzelnen Zeichenwert verwendet.
  • S - Für Saiten verwendet.

Mit Single scanf () Funktion, eine oder mehrere Eingaben können vom Benutzer übernommen werden.

Der scanf () Die Funktion nimmt die Eingabe aus der Standardeingabe (Tastatur) und speichert den Wert in einer Variablen. Die Funktion wartet auf die Benutzereingabe, bis der Benutzer die Eingabetaste drückt. Der eingegebene Wert wird in einem Puffer gespeichert. Wenn die Eingabetaste gedrückt wird, scanf () Die Funktion beginnt zu lesen.

Beispiel 1: Ganzzahleingabe

//Beispiel 1.C
#enthalten
int main ()
int i;
printf ("1st Ganzzahl eingeben:");
scanf ("%d", & i);
printf ("Sie haben eingegeben: %d \ n", i);
printf ("2. Ganzzahl eingeben:");
scanf ("%d", & i);
printf ("Sie haben eingegeben: %d \ n", i);
Rückkehr 0;

In Beispiel1.c, wir haben das gesehen, als wir Ganzzahlwerte eingegeben haben und die Eingabetaste drücken. Der scanf () Funktion nimmt den Wert auf und speichert ihn in der Variablen. Wenn wir die vom Speicherplatz getrennten Werte eingeben, kehrt die Funktion zurück, wenn der Speicherplatz auftritt, die Werte nach dem Speicherplatz bleiben jedoch im Eingabepuffer. Deshalb der zweite der zweite scanf () Die Funktion wartet nicht auf Benutzereingaben, sondern nimmt die Eingabe aus dem Puffer ab.

Beispiel 2: Eingang mit Einzelzeichen

// Beispiel2.C
#enthalten
int main ()
Char C;
printf ("ein Zeichen eingeben:");
scanf ("%c", & c);
printf ("Sie haben eingegeben: %c \ n", c);
Rückkehr 0;

In Beispiel2.c, wir haben das gesehen, wenn wir benutzen %C Spezifizierer, die scanf () Die Funktion nimmt nur einen Charakter an, auch wenn wir mehr als einen Zeichen eingegeben haben.

Beispiel 3: Eingabe für ein Zeichen (mehrmals)

// Beispiel3.C
#enthalten
int main ()
Char C;
printf ("1st Zeichen eingeben:");
scanf ("%c", & c);
printf ("Sie haben eingegeben: %c \ n", c);
printf ("2. Zeichen eingeben:");
scanf ("%c", & c);
printf ("Sie haben eingegeben: %c \ n", c);
Rückkehr 0;

Beispiel 4:

// Beispiel4.C
#enthalten
int main ()
Char C;
printf ("1st Zeichen eingeben:");
scanf ("%c", & c);
printf ("Sie haben eingegeben: %c \ n", c);
printf ("2. Zeichen eingeben:");
scanf (" %c", & c);
printf ("Sie haben eingegeben: %c \ n", c);
Rückkehr 0;

Beispiel 5: String -Eingabe

// Beispiel5.C
#enthalten
int main ()
Zeichenname [15];
printf ("Geben Sie Ihren Namen ein:");
scanf ("%s", Name);
printf ("Sie haben eingegeben: %s \ n", Name);
Rückkehr 0;

GetC () Funktion

Syntax: int getc (Datei *Stream)

getc () Funktion wird verwendet, um ein Zeichen aus dem Dateizeiger (Stream) zu lesen. Um aus der Tastatur zu lesen, müssen wir verwenden Stdin. Diese Funktion gibt einen Ganzzahlwert des Lesezeichens zurück.

Beispiel 6:

// Beispiel6.C
#enthalten
int main ()
Char C;
printf ("1st Zeichen eingeben:");
while ((c = getc (stdin)) == '\ n');
printf ("Sie haben eingegeben: %c \ n", c);
während (getc (stdin)!= '\ n');
printf ("2. Zeichen eingeben:");
while ((c = getc (stdin)) == '\ n');
printf ("Sie haben eingegeben: %c \ n", c);
Rückkehr 0;

GetChar () Funktion

Syntax: int getchar (void)

getChar () Funktion ist gleich wie getc (). Der einzige Unterschied ist, dass das getc () Die Funktion kann aus jedem Eingabestream lesen, während getChar () Funktion liest nur aus der Standardeingabe.

Beispiel 7:

// Beispiel7.C
#enthalten
int main ()
Char C;
printf ("1st Zeichen eingeben:");
while ((c = getChar ()) == '\ n');
printf ("Sie haben eingegeben: %c \ n", c);
während (getChar ()!= '\ n');
printf ("2. Zeichen eingeben:");
while ((c = getChar ()) == '\ n');
printf ("Sie haben eingegeben: %c \ n", c);
Rückkehr 0;

Abschluss

In diesem Artikel haben wir gesehen, wie Eingabefunktionen in der C -Sprache verwendet werden. Alle diese Funktionen werden aus dem Eingabepuffer eingegeben und wenn wir diese Funktionen mehrmals verwenden, müssen wir den Puffer löschen. Andernfalls warten die Funktionen nicht auf Benutzereingaben und nehmen die Eingabe aus dem Puffer.