Heim >Backend-Entwicklung >C++ >Was ist der Unterschied zwischen scanf() und gets() in der C-Sprache?
In der C-Sprache sind sowohl die Funktionen scanf() als auch gets() definiert, um Eingaben von externen Quellen abzurufen und als Eingaben an das System zu übergeben. Nun gibt es einige charakteristische Unterschiede zwischen diesen beiden Funktionen.
Hier sind die wichtigen Unterschiede zwischen scanf() und gets() in C -
Sr. Nein. | keys | scanf()-Funktion | gets()-Funktion |
---|---|---|---|
1 | Definition | scanf()-Funktion kann Eingaben von der Tastatur lesen und gemäß dem angegebenen Formatbezeichner speichern. Es liest Eingaben, bis ein Leerzeichen, ein Zeilenumbruch oder ein EOF auftritt. | Andererseits wird die Funktion gets() verwendet, um Eingaben von der Tastatur zu empfangen, bis ein Zeilenumbruchzeichen oder EOF angetroffen wird. Leerzeichen gelten als Teil der Eingabe. |
2 | WhiteSpace | In der scanf()-Funktion werden Leerzeichen nicht als Eingabezeichen betrachtet und es wird auch das Lesen von Eingaben aus einer externen Quelle gestoppt, wenn dazwischen Leerzeichen auftreten. | Andererseits wird in der Funktion get() das Leerzeichen als Eingabezeichen und auch als Eingabezeichen betrachtet. Wenn dazwischen Leerzeichen auftreten, beenden Sie das Lesen der Eingabe aus der externen Quelle und fahren Sie mit dem Lesen aus der Eingabequelle fort. |
3 | Syntax | scanf()-Funktion benötigt eine Formatzeichenfolge und eine Liste variabler Adressen. Zum Beispiel: scanf(“%d”, &number); | Andererseits verwendet die Funktion get() den Namen der Variablen, um den empfangenen Wert zu speichern. Beispielsweise kann die Funktion gets(name); |
4 | DataType | scanf() mehrere Werte verschiedener Datentypen lesen. td> | Aber andererseits ruft die Funktion get() nur String-Daten ab. |
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen scanf() und gets() in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!