Rumah >pembangunan bahagian belakang >C++ >Apakah perbezaan antara scanf() dan gets() dalam bahasa C?
Dalam bahasa C, kedua-dua fungsi scanf() dan gets() ditakrifkan untuk mendapatkan input daripada sumber luaran dan menghantarnya sebagai input kepada sistem. Kini terdapat beberapa perbezaan ciri antara kedua-dua fungsi ini.
Berikut ialah perbezaan penting antara scanf() dan gets() dalam C -
Sr. Tidak. Fungsi | keys | scanf() | gets() |
---|---|---|---|
1 | Definisi | scanf() fungsi boleh membaca input mengikut format papan kekunci dan menyimpannya mengikut format yang diberikan Ia membaca input sehingga ruang, baris baharu atau EOF ditemui. | Sebaliknya, fungsi gets() digunakan untuk menerima input daripada papan kekunci sehingga aksara baris baharu atau EOF ditemui. Ruang dianggap sebahagian daripada input. |
2 | WhiteSpace | Dalam fungsi scanf(), ruang tidak dianggap sebagai aksara input dan ia juga akan berhenti membaca input daripada sumber luaran jika terdapat sebarang ruang di antaranya. | Sebaliknya, dalam fungsi get(), ruang dianggap sebagai aksara input dan ia juga dianggap sebagai aksara input. Jika terdapat sebarang ruang di antaranya, hentikan membaca input daripada sumber luaran dan teruskan membaca daripada sumber input. Fungsi |
3 | Syntax | scanf() mengambil rentetan format dan senarai alamat berubah-ubah. Contohnya, scanf(“%d”, &number); | Sebaliknya, fungsi get() mengambil nama pembolehubah untuk menyimpan nilai yang diterima. Sebagai contoh, fungsi gets(name); |
4 | DataType | scanf() boleh membaca berbilang nilai daripada jenis data yang berbeza. td> | Tetapi sebaliknya fungsi get() hanya akan mendapat data rentetan. |
Atas ialah kandungan terperinci Apakah perbezaan antara scanf() dan gets() dalam bahasa C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!