Perbezaan Utama – scanf vs gets
Fungsi ialah satu set pernyataan untuk melaksanakan tugas tertentu. Tanpa menulis semua pernyataan dalam program yang sama, ia boleh dibahagikan kepada pelbagai fungsi. Dalam pengaturcaraan, pengguna boleh menentukan fungsinya sendiri. Terdapat juga fungsi yang disediakan oleh bahasa pengaturcaraan. Bahasa C menyediakan beberapa fungsi, jadi pengaturcara boleh menggunakannya secara langsung tanpa melaksanakannya dari awal. Dua fungsi sedemikian yang disediakan oleh bahasa C ialah scanf dan gets. Artikel ini membincangkan perbezaan antara kedua-dua fungsi ini. Perbezaan utama antara scanf dan gets ialah scanf menamatkan pengambilan input apabila menemui ruang putih, baris baharu atau End Of File (EOF) manakala gets menganggap ruang putih sebagai sebahagian daripada rentetan input dan menamatkan input apabila menemui baris baharu atau EOF.
Apakah scanf?
Fungsi scanf boleh membaca input daripada papan kekunci dan menyimpannya mengikut penentu format yang diberikan. Ia membaca input sehingga menemui ruang putih, baris baharu atau EOF. Sintaksnya adalah seperti berikut.
scanf(“rentetan format”, senarai alamat pembolehubah);
Rujuk contoh yang diberikan di bawah untuk memahami scanf.
Rajah 01: scanf dengan satu input
Mengikut program di atas, input yang diperoleh daripada papan kekunci ialah integer, jadi penentu format ialah %d. Jika ia mendapat nilai aksara, penentu format ialah %c. Jika mendapat nilai titik terapung, penentu format ialah %f. Nilai input yang diterima hendaklah disimpan dalam pembolehubah nombor. Oleh itu, alamat nombor pembolehubah dihantar ke dalam fungsi scanf. Sekarang pembolehubah nombor mengandungi nilai yang diberikan oleh pengguna dari papan kekunci. Akhir sekali, kita boleh mencetak pembolehubah nombor untuk menyemak nilai.
Anda juga boleh menerima lebih daripada satu nilai pada satu masa.
Rajah 02: scanf dengan berbilang input
Input yang diterima disimpan dalam pembolehubah nombor1 dan nombor2. Nilai boleh disemak dengan menggunakan printf.
Apa yang didapat?
Fungsi gets digunakan untuk menerima input daripada papan kekunci sehingga menemui baris baharu atau EOF. Ruang putih dianggap sebagai sebahagian daripada input. Sintaks untuk fungsi gets adalah seperti berikut.
dapat(“tempat menyimpan rentetan”);
Jika terdapat ralat semasa menerima rentetan, fungsi gets akan mengembalikan nilai nol.
Rujuk contoh di bawah,
Rajah 03: mendapat
Input diterima oleh fungsi gets dan disimpan dalam perkataan berubah1. Jika pengaturcara menggunakan scanf dan bukannya mendapatkan dan memasukkan rentetan seperti "hello world", scanf akan membaca rentetan itu sebagai dua rentetan kerana ruang putih. Tetapi gets akan membacanya sebagai satu rentetan "hello world".
Apakah Persamaan Antara scanf dan gets?
- Kedua-duanya adalah fungsi yang disediakan oleh bahasa pengaturcaraan C.
- Kedua-duanya harus menyertakan fail pengepala stdio.h untuk menggunakan fungsi ini.
- Kedua-duanya boleh digunakan untuk mendapatkan input daripada input standard.
Apakah Perbezaan Antara scanf dan gets?
scanf vs gets |
|
scanf ialah fungsi C untuk membaca input daripada input standard sehingga menemui ruang putih, baris baharu atau EOF. | gets ialah fungsi C untuk membaca input daripada input standard sehingga menemui baris baharu atau EOF. Ia menganggap ruang putih sebagai sebahagian daripada input. |
Sintaks | |
Fungsi scanf mengambil rentetan format dan senarai alamat pembolehubah. cth. scanf(“%d”, &number); | Fungsi gets mengambil nama pembolehubah untuk menyimpan nilai yang diterima. Cth. mendapat(nama); |
Fleksibiliti | |
scanf boleh membaca berbilang nilai jenis data yang berbeza. | gets() hanya akan mendapat data rentetan aksara. |
Ringkasan – scanf vs gets
scanf and gets ialah fungsi yang disediakan oleh bahasa pengaturcaraan C. Pengguna tidak perlu melaksanakan fungsi ini dari awal. Mereka boleh menggunakannya secara langsung dalam program mereka. Perbezaan antara scanf dan gets ialah, scanf menamatkan pengambilan input apabila menemui ruang putih, baris baharu atau End Of File (EOF) dan akan menganggap ruang putih sebagai sebahagian daripada rentetan input dan menamatkan input apabila menemui baris baharu atau EOF. Menggunakan scanf atau gets bergantung pada cara menerima input pengguna daripada input standard yang merupakan papan kekunci pada kebanyakan masa. scanf lebih fleksibel daripada dapat.
Muat turun Versi PDF scanf vs gets
Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar talian seperti dalam nota petikan. Sila muat turun versi PDF di sini Perbezaan Antara scanf dan mendapat