Apakah maksud scanf dalam bahasa C?

下次还敢
Lepaskan: 2024-05-02 17:09:16
asal
960 orang telah melayarinya

Fungsi

scanf digunakan untuk membaca data daripada input standard Ia menentukan jenis dan format data melalui rentetan format dan mengembalikan bilangan item yang dibaca.

Apakah maksud scanf dalam bahasa C?

maksud scanf

scanf ialah fungsi dalam bahasa C yang digunakan untuk membaca data daripada input standard (biasanya papan kekunci). "imbasan" dalam namanya bermaksud input imbasan dan "f" bermaksud format.

Prototaip fungsi

<code class="c">int scanf(const char *format_string, ...);</code>
Salin selepas log masuk

Parameter

  • rentetan_format: Rentetan format yang menentukan cara mentafsir input. 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>
Salin selepas log masuk

注意

  • scanf 不会自动跳过空白字符(例如空格、制表符)。如果 format_string 中需要跳过空白字符,可以使用 %*[whitespace]。(其中 *
  • ...: Senarai pilihan pembolehubah untuk menerima data yang dibaca.
🎜Cara ia berfungsi🎜🎜🎜scanf menggunakan format_string sebagai templat untuk membimbing tafsiran input. format_string mengandungi penentu format, setiap penentu format sepadan dengan jenis data yang akan dibaca (contohnya, %d mewakili integer, %f mewakili nombor titik terapung). 🎜🎜scanf akan mengimbas aksara input satu demi satu dan menukarnya kepada jenis data yang sepadan mengikut penentu format. scanf melaporkan ralat jika input tidak sepadan dengan penentu format. 🎜🎜🎜Nilai pulangan 🎜🎜🎜scanf mengembalikan integer yang menunjukkan bilangan item data yang berjaya dibaca. Jika ralat berlaku atau tamat input (EOF) dicapai, EOF dikembalikan. 🎜🎜🎜Contoh🎜🎜🎜Kod berikut menggunakan scanf untuk membaca integer dan nombor titik terapung daripada input standard: 🎜rrreee🎜🎜Nota🎜🎜🎜🎜scanf tidak melangkau aksara ruang kosong secara automatik, e.g. Jika anda perlu melangkau aksara ruang putih dalam format_string, anda boleh menggunakan %*[whitespace]. (di mana * bermaksud baca tetapi buang input) 🎜🎜scanf tidak mengesahkan bahawa nilai input adalah sah. Jika nilai tidak sah dimasukkan, scanf melaporkan ralat atau memberikan hasil yang tidak dapat diramalkan. 🎜🎜

Atas ialah kandungan terperinci Apakah maksud scanf dalam bahasa C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan