Heim > Artikel > Backend-Entwicklung > Unterschied zwischen scanf() und gets() in C
In der C-Sprache werden scanf() und gets() beide verwendet, um Eingaben von der Standardeingabe (Tastatur) zu lesen. Was sind also die Unterschiede zwischen ihnen? In diesem Artikel werde ich scanf() und gets() kurz vergleichen und die Unterschiede zwischen scanf() und gets() vorstellen. Ich hoffe, dass es für Sie hilfreich ist. [Video-Tutorial-Empfehlung: C-Sprach-Tutorial]
scanf()-Funktion
Die Funktion scanf() wird zum Lesen von über die Tastatur eingegebenen Daten (Zeichen, Zeichenfolgen, Zahlen) verwendet. Sie stoppt das Lesen von Daten, wenn sie auf ein Leerzeichen, ein Zeilenumbruchzeichen oder ein Dateiende (EOF) stößt.
Codebeispiel:
#include <stdio.h> int main() { char str[20]; printf("请输入:\n"); scanf("%s", str); printf("输出: %s\n", str); return 0; }
Ausgabe:
gets()-Funktion
gets()-Funktion wird auch verwendet, um Dateneingaben über die Tastatur zu lesen und Zeichenfolgen abzurufen. Stoppt das Lesen von Daten, wenn ein Zeilenumbruchzeichen oder ein Dateiendezeichen (EOF) auftritt.
Codebeispiel:
#include <stdio.h> int main() { char str[20]; printf("请输入:\n"); gets(str); printf("输出: %s\n", str); return 0; }
Ausgabe:
Unterschied zwischen scanf() und gets()
1. Wenn die scanf()-Funktion Eingaben liest, stoppt sie den Lesevorgang, wenn sie auf ein Leerzeichen, ein Zeilenumbruchzeichen oder ein Dateiende stößt. Wenn die Funktion gets() jedoch Eingaben liest, stoppt sie den Lesevorgang, wenn sie auf ein Zeilenumbruchzeichen oder das Ende der Datei stößt. Sie behandelt ein Leerzeichen als Zeichen in der Zeichenfolge, sodass sie den Lesevorgang nicht stoppt, wenn sie auf ein Leerzeichen trifft . eingeben.
2. Die Funktion scanf() wird zum Lesen mehrerer Werte unterschiedlicher Datentypen verwendet, während die Funktion gets() nur Zeichenfolgendaten abrufen kann.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !
Das obige ist der detaillierte Inhalt vonUnterschied zwischen scanf() und gets() in C. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!