Fungsi
scanf digunakan untuk membaca data daripada input standard Ia menentukan jenis dan format data melalui rentetan format dan mengembalikan bilangan item yang dibaca.
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>
Parameter
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]
。(其中 *
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!