Heim  >  Artikel  >  Backend-Entwicklung  >  Was bedeutet scanf in der C-Sprache?

Was bedeutet scanf in der C-Sprache?

下次还敢
下次还敢Original
2024-05-02 17:09:16960Durchsuche

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.

Was bedeutet scanf in der C-Sprache?

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>

注意

  • scanf 不会自动跳过空白字符(例如空格、制表符)。如果 format_string 中需要跳过空白字符,可以使用 %*[whitespace]。(其中 *
  • ...: Eine optionale Liste von Variablen zum Empfang der gelesenen Daten.
🎜Wie es funktioniert🎜🎜🎜scanf verwendet 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!

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