Heim  >  Artikel  >  Backend-Entwicklung  >  Unterschied zwischen scanf() und gets() in C

Unterschied zwischen scanf() und gets() in C

青灯夜游
青灯夜游Original
2019-02-11 17:47:304702Durchsuche

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]

Unterschied zwischen scanf() und gets() in C

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:

Unterschied zwischen scanf() und gets() in C

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() in C

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn