Heim > Artikel > Backend-Entwicklung > Was bedeutet scanf in der C-Sprache?
Die Funktion
scanf wird zum Lesen von Daten aus der Standardeingabe verwendet. Sie gibt den Datentyp und das Format über eine Formatzeichenfolge an und gibt die Anzahl der gelesenen Elemente zurück.
Bedeutung von scanf
scanf ist eine Funktion in der Sprache C, die zum Lesen von Daten aus der Standardeingabe (normalerweise der Tastatur) verwendet wird. Das „scan“ im Namen bedeutet Scan-Eingabe und „f“ bedeutet Format.
Funktionsprototyp
<code class="c">int scanf(const char *format_string, ...);</code>
Parameter
format_string
: Eine Formatzeichenfolge, die angibt, wie die Eingabe zu interpretieren ist. format_string
:一个格式字符串,指定如何解释输入。...
:一个可选的变量列表,接收读取到的数据。工作原理
scanf 使用 format_string
作为模板来指导输入解释。format_string
包含格式说明符,每个格式说明符对应于要读取的一个数据类型(例如 %d
表示整数,%f
表示浮点数)。
scanf 会逐个扫描输入字符,并根据格式说明符将其转换为相应的数据类型。如果输入不匹配格式说明符,则 scanf 会报告错误。
返回值
scanf 返回一个整数,表示成功读取的数据项数量。如果发生错误或达到输入结束(EOF),则返回 EOF
。
示例
以下代码使用 scanf 从标准输入读取一个整数和一个浮点数:
<code class="c">int num; float real; scanf("%d %f", &num, &real);</code>
注意
%*[whitespace]
。(其中 *
...
: Eine optionale Liste von Variablen zum Empfang der gelesenen Daten. format_string
als Vorlage zur Steuerung der Eingabeinterpretation. format_string
enthält Formatbezeichner, wobei jeder Formatbezeichner einem zu lesenden Datentyp entspricht (zum Beispiel bedeutet %d
eine Ganzzahl, %f
bedeutet eine Gleitkommazahl). 🎜🎜scanf scannt die eingegebenen Zeichen einzeln und konvertiert sie entsprechend dem Formatbezeichner in den entsprechenden Datentyp. scanf meldet einen Fehler, wenn die Eingabe nicht mit dem Formatbezeichner übereinstimmt. 🎜🎜🎜Rückgabewert 🎜🎜🎜scanf gibt eine Ganzzahl zurück, die die Anzahl der erfolgreich gelesenen Datenelemente angibt. Wenn ein Fehler auftritt oder das Ende der Eingabe (EOF) erreicht ist, wird EOF
zurückgegeben. 🎜🎜🎜Beispiel🎜🎜🎜Der folgende Code verwendet scanf, um eine Ganzzahl und eine Gleitkommazahl aus der Standardeingabe zu lesen: 🎜rrreee🎜🎜Hinweis🎜🎜🎜🎜scanf überspringt Leerzeichen (z. B. Leerzeichen, Tabulatoren) nicht automatisch. Wenn Sie Leerzeichen in format_string überspringen müssen, können Sie %*[whitespace]
verwenden. (wobei *
die Eingabe lesen, aber verwerfen bedeutet) 🎜🎜scanf überprüft nicht, ob der Eingabewert gültig ist. Wenn ein ungültiger Wert eingegeben wird, meldet scanf einen Fehler oder liefert unvorhersehbare Ergebnisse. 🎜🎜Das obige ist der detaillierte Inhalt vonWas bedeutet scanf in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!