Perbezaan Antara scanf dan mendapat

Perbezaan Utama - scanf vs mendapat
 

Fungsi adalah satu set pernyataan untuk melaksanakan tugas tertentu. Tanpa menulis semua kenyataan 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 programmer boleh menggunakannya secara langsung tanpa melaksanakannya dari awal. Dua fungsi seperti yang disediakan oleh bahasa C adalah scanf dan mendapat. Artikel ini membincangkan perbezaan antara kedua-dua fungsi ini. The perbezaan utama antara scanf dan mendapatnya scanf berakhir mengambil input apabila bertemu dengan ruang putih, baris baru atau Akhir Fail (EOF) manakala mendapat anggapan ruang putih sebagai sebahagian daripada rentetan input dan mengakhiri input apabila menghadapi newline atau EOF.

KANDUNGAN

1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apakah scanf
3. Apa yang ada
4. Kesamaan Antara scanf dan mendapat
5. Side by Side Perbandingan - scanf vs mendapat dalam Borang Tabular
6. Ringkasan

Apa itu scanf?

Fungsi scanf boleh membaca input dari papan kekunci dan menyimpannya mengikut spesifier format yang diberikan. Ia membaca masukan sehingga menemui ruang kosong, garis baru atau EOF. Sintaks adalah seperti berikut.

            scanf ("format string", senarai alamat pembolehubah);

Rujuk contoh yang diberikan di bawah untuk memahami scanf.

Rajah 01:  scanf dengan satu input

Menurut program di atas, input yang diperoleh dari papan kekunci adalah integer, jadi format penentu adalah% d. Sekiranya ia mendapat nilai aksara, penentu format ialah% c. Jika mendapat nilai terapung, format specifier adalah% f. Nilai input yang diterima hendaklah disimpan dalam pembolehubah nombor. Oleh itu, alamat nombor ubah diluluskan ke dalam fungsi scanf. Sekarang pembolehubah nombor mengandungi nilai yang diberikan oleh pengguna dari papan kekunci. Akhirnya, kita boleh mencetak pembolehubah nombor untuk memeriksa nilai tersebut.

Ia juga mungkin untuk menerima lebih daripada satu nilai pada satu masa.

Rajah 02: scanf dengan pelbagai input

Input yang diterima disimpan dalam nombor1 dan nombor2 berubah. Nilai boleh diperiksa dengan menggunakan printf.

Apa yang ada?

mendapat fungsi menggunakan untuk menerima input dari papan kekunci sehingga menemui barisan baru atau EOF. Ruang kosong dipertimbangkan sebagai sebahagian daripada input. Sintaks untuk mendapatkan fungsi adalah seperti berikut.

            mendapat ("di mana untuk menyimpan rentetan");

Sekiranya terdapat ralat semasa menerima rentetan, fungsi yang mendapat kembali akan mengembalikan nilai nol.

Rujuk contoh di bawah,

Rajah 03: mendapat

Input diterima oleh fungsi mendapat dan disimpan dalam word1 variable. Jika programmer yang digunakan scanf bukannya mendapat dan memasukkan rentetan seperti "hello world", scanf akan membaca rentetan sebagai dua rentetan kerana ruang putih. Tetapi mendapat akan membacanya sebagai satu rentetan "hello world".

Apakah Kesamaan Antara scanf dan mendapat?

  • Kedua-duanya adalah fungsi yang disediakan oleh bahasa pengaturcaraan C.
  • Kedua-duanya perlu memasukkan fail header stdio.h untuk menggunakan fungsi-fungsi ini.
  • Kedua-duanya boleh digunakan untuk mendapatkan masukan dari input standard.

Apakah Perbezaan Antara scanf dan mendapat?

scanf vs gets

scanf adalah fungsi C untuk membaca input dari input standard sehingga bertemu dengan ruang putih, garis baru atau EOF.  mendapat adalah fungsi C untuk membaca input daripada input standard sehingga bertemu dengan newline atau EOF. Ia menganggap ruang kosong sebagai sebahagian daripada input.
 Sintaks
fungsi scanf mengambil rentetan format dan senarai alamat pemboleh ubah. contohnya. scanf ("% d", & nombor); mendapat fungsi mengambil nama pembolehubah untuk menyimpan nilai yang diterima. Cth. mendapat (nama);
Fleksibiliti
scanf boleh membaca berbilang nilai jenis data yang berbeza. mendapat () hanya akan mendapat data rentetan aksara.

Ringkasan - scanf vs gets

scanf dan mendapat adalah fungsi yang disediakan oleh bahasa pengaturcaraan C. Pengguna tidak perlu melaksanakan fungsi-fungsi ini dari awal. Mereka boleh terus menggunakannya dalam program mereka. Perbezaan antara scanf dan mendapat adalah, scanf berakhir mengambil input apabila bertemu ruang kosong, baris baru atau Akhir Fail (EOF) dan akan mempertimbangkan ruang putih sebagai sebahagian daripada rentetan input dan mengakhiri input apabila menghadapi newline atau EOF. Menggunakan scanf atau mendapat bergantung kepada cara untuk menerima input pengguna dari input standard yang merupakan papan kekunci pada kebanyakan masa. scanf lebih fleksibel daripada mendapat.

Muat turun Versi PDF scanf vs mendapat

Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar talian seperti nota kutipan. Sila muat turun versi PDF di sini Perbezaan Antara scanf dan mendapat

Rujukan:

1.LearningLad, 'Scanf () Fungsi dalam Tutorial Video Bahasa Pemrograman C' YouTube, YouTube, 23 Apr 2013. Available here  
2.LearningLad, 'mendapat () Input Input String dalam Tutorial Video Bahasa Pemrograman C', YouTube, YouTube, 6 Mei 2013. Available here