Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Terokai format input dan penggunaan fungsi scanf dalam bahasa C

Terokai format input dan penggunaan fungsi scanf dalam bahasa C

王林
王林asal
2024-02-18 18:47:05903semak imbas

Terokai format input dan penggunaan fungsi scanf dalam bahasa C

Penjelasan terperinci tentang format input dan penggunaan fungsi scanf dalam bahasa C

Fungsi scanf dalam bahasa C ialah fungsi yang digunakan untuk membaca data daripada aliran input standard. Ia boleh membaca jenis data yang berbeza mengikut rentetan format yang ditentukan dan menetapkannya kepada pembolehubah yang sepadan. Artikel ini akan memperkenalkan format input fungsi scanf dan penggunaannya secara terperinci, dan memberikan contoh kod khusus.

  1. Format input asas:

Format input asas fungsi scanf terdiri daripada penentu penukaran dan pengubah, yang digunakan untuk menentukan jenis data yang akan dibaca. Penentu dan pengubah penukaran yang biasa digunakan adalah seperti berikut:

  • %d: digunakan untuk membaca integer perpuluhan.
  • %f: digunakan untuk membaca nombor titik terapung.
  • %c: digunakan untuk membaca satu aksara.
  • %s: digunakan untuk membaca rentetan.
  • %%: digunakan untuk membaca tanda peratus.
  • %lf: digunakan untuk membaca nombor titik terapung berketepatan dua kali.
  1. Pengubahsuaian format:

Selain penentu penukaran, fungsi scanf juga boleh menggunakan pengubahsuai format untuk mengehadkan format data input. Berikut ialah beberapa pengubah suai biasa:

  • *: Langkau data ini dan jangan bacanya ke dalam sebarang pembolehubah.
  • Nombor: Tentukan bilangan maksimum aksara untuk dibaca.
  • h: digunakan untuk membaca integer pendek.
  • l: Digunakan untuk membaca nombor titik terapung berketepatan panjang dan berganda.
  1. Contoh input:

Yang berikut menggunakan contoh kod khusus untuk memperkenalkan cara menggunakan fungsi scanf.

#include <stdio.h>

int main() {
    int age;
    float height;
    char name[20];

    printf("请输入您的年龄:");
    scanf("%d", &age);

    printf("请输入您的身高(米):");
    scanf("%f", &height);

    printf("请输入您的姓名:");
    scanf("%s", name);

    printf("您的年龄是:%d
", age);
    printf("您的身高是:%.2f米
", height);
    printf("您的姓名是:%s
", name);

    return 0;
}

Dalam contoh di atas, kami mula-mula mengisytiharkan pembolehubah integer umur, pembolehubah titik terapung tinggi dan tatasusunan aksara nama . Kemudian gunakan fungsi printf untuk mengeluarkan maklumat segera masing-masing. age、一个浮点型变量height以及一个字符数组name。然后使用printf函数分别输出提示信息。

接下来,通过scanf函数分别读取用户输入的年龄、身高和姓名。可以看到,对于整型和浮点型变量,我们需要使用&

Seterusnya, baca umur, ketinggian dan nama yang dimasukkan oleh pengguna melalui fungsi scanf. Seperti yang anda lihat, untuk pembolehubah integer dan titik terapung, kita perlu menggunakan simbol & untuk mendapatkan alamat pembolehubah, manakala untuk tatasusunan aksara, kami menggunakan nama pembolehubah secara langsung.

Akhir sekali, gunakan fungsi printf untuk mengeluarkan data baca.
  1. Nota:
  • Sebelum menggunakan fungsi scanf, sebaiknya gunakan fungsi fflush untuk mengosongkan penimbal input untuk mengelakkan membaca data yang salah.

  • Memandangkan fungsi scanf menggunakan ruang sebagai pembatas semasa membaca rentetan, untuk rentetan yang mengandungi ruang, format `%[^
  • ]` perlu digunakan untuk membaca keseluruhan baris input.

Ringkasan: Fungsi scanf ialah fungsi input yang biasa digunakan dalam bahasa C Ia boleh membaca pelbagai jenis data melalui gabungan rentetan format dan pengubah suai. Apabila menggunakannya, anda perlu memberi perhatian kepada penggunaan penentu dan pengubah penukaran, dan mengelakkan kesan penimbal input untuk memastikan data yang betul dibaca. Di atas adalah pengenalan terperinci kepada format input fungsi scanf dan penggunaannya saya harap ia akan membantu pembaca. 🎜

Atas ialah kandungan terperinci Terokai format input dan penggunaan fungsi scanf dalam bahasa C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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