Scanf va gets oʻrtasidagi farq

Mundarija:

Scanf va gets oʻrtasidagi farq
Scanf va gets oʻrtasidagi farq

Video: Scanf va gets oʻrtasidagi farq

Video: Scanf va gets oʻrtasidagi farq
Video: 57075 Ввод-вывод в языках C и C++. Секреты функций printf и scanf. 2024, Noyabr
Anonim

Asosiy farq – scanf vs get

Funksiya - bu ma'lum bir vazifani bajarish uchun bayonotlar to'plami. Bitta dasturda barcha bayonotlarni yozmasdan, uni bir nechta funktsiyalarga bo'lish mumkin. Dasturlashda foydalanuvchi o'z funktsiyalarini belgilashi mumkin. Dasturlash tillari tomonidan taqdim etilgan funksiyalar ham mavjud. C tili bir qator funktsiyalarni ta'minlaydi, shuning uchun dasturchi ularni boshidan amalga oshirmasdan bevosita foydalanishi mumkin. C tili tomonidan taqdim etilgan ikkita bunday funktsiya scanf va getdir. Ushbu maqolada ushbu ikki funktsiya o'rtasidagi farq muhokama qilinadi. Scanf va gets o'rtasidagi asosiy farq shundaki, scanf bo'sh joy, yangi qator yoki fayl oxiri (EOF) bilan to'qnash kelganda ma'lumot olishni tugatadi, gets esa bo'sh joyni kirish qatorining bir qismi sifatida ko'rib chiqadi va yangi qator yoki EOF bilan uchrashganda kiritishni tugatadi.

Scanf nima?

Scanf funksiyasi klaviaturadan kiritilgan ma'lumotlarni o'qiy oladi va ularni berilgan format spetsifikatsiyasiga muvofiq saqlaydi. U bo'sh joy, yangi qator yoki EOF paydo bo'lguncha kirishni o'qiydi. Sintaksis quyidagicha.

scanf(“format qatori”, oʻzgaruvchilar manzillari roʻyxati);

Skanerni tushunish uchun quyida keltirilgan misolga qarang.

Scanf va gets o'rtasidagi farq
Scanf va gets o'rtasidagi farq
Scanf va gets o'rtasidagi farq
Scanf va gets o'rtasidagi farq

01-rasm: bitta kirish bilan skanerlash

Yuqoridagi dasturga koʻra, klaviaturadan olinadigan kiritish butun son boʻlib, format spetsifikatsiyasi %d. Agar u belgi qiymatini olayotgan bo'lsa, format spetsifikatsiyasi %c dir. Agar suzuvchi nuqta qiymati olsangiz, format spetsifikatsiyasi %f dir. Qabul qilingan kirish qiymati raqam o'zgaruvchisida saqlanishi kerak. Shuning uchun o'zgaruvchining raqamining manzili scanf funksiyasiga o'tkaziladi. Endi raqam o'zgaruvchisi klaviaturadan foydalanuvchi tomonidan berilgan qiymatni o'z ichiga oladi. Va nihoyat, qiymatni tekshirish uchun raqam o'zgaruvchisini chop etishimiz mumkin.

Bir vaqtning oʻzida bir nechta qiymatlarni olish ham mumkin.

Scanf va gets_rasm o'rtasidagi farq 02
Scanf va gets_rasm o'rtasidagi farq 02
Scanf va gets_rasm o'rtasidagi farq 02
Scanf va gets_rasm o'rtasidagi farq 02

02-rasm: bir nechta kirishli skanerlash

Qabul qilingan ma'lumotlar raqam1 va raqam2 o'zgaruvchilarida saqlanadi. Qiymatlarni printf yordamida tekshirish mumkin.

Nima olinadi?

gets funksiyasi yangi qator yoki EOFga duch kelgunga qadar klaviaturadan kiritishni qabul qilish uchun ishlatiladi. Bo'shliq kiritishning bir qismi sifatida qabul qilinadi. Get funksiyasi sintaksisi quyidagicha.

gets(“satrni qayerda saqlash kerak”);

Agar satrni qabul qilishda xatolik yuzaga kelsa, gets funksiyasi null qiymatni qaytaradi.

Quyidagi misolga qarang,

Scanf va gets o'rtasidagi asosiy farq
Scanf va gets o'rtasidagi asosiy farq
Scanf va gets o'rtasidagi asosiy farq
Scanf va gets o'rtasidagi asosiy farq

03-rasm: oladi

Kirish gets funksiyasi tomonidan qabul qilinadi va word1 oʻzgaruvchisida saqlanadi. Agar dasturchi gets o'rniga scanf dan foydalansa va "salom dunyo" kabi qatorni kiritsa, scanf bo'sh joy tufayli satrni ikkita satr sifatida o'qiydi. Lekin gets uni bir qator “salom dunyo” sifatida o‘qiydi.

Scanf va gets oʻrtasidagi oʻxshashliklar qanday?

  • Ikkalasi ham C dasturlash tili tomonidan taqdim etilgan funksiyalar.
  • Ushbu funksiyalardan foydalanish uchun ikkalasida stdio.h sarlavha fayli boʻlishi kerak.
  • Ikkalasidan ham standart kirishdan kirish uchun foydalanish mumkin.

Scanf va gets oʻrtasidagi farq nima?

scanf vs get

scanf - boʻsh joy, yangi qator yoki EOFga duch kelmaguncha standart kirishdan kiritilgan maʼlumotlarni oʻqish uchun C funksiyasi. gets - yangi qator yoki EOFga duch kelgunga qadar standart kirishdan kiritilgan ma'lumotlarni o'qish uchun C funktsiyasi. U boʻshliqni kiritishning bir qismi sifatida koʻradi.
Sintaksis
scanf funksiyasi format qatorini va oʻzgaruvchilar manzillari roʻyxatini oladi. masalan scanf(“%d”, &raqam); gets funksiyasi qabul qilingan qiymatni saqlash uchun oʻzgaruvchi nomini oladi. Masalan, oladi(ism);
Moslashuvchanlik
scanf har xil turdagi ma'lumotlarning bir nechta qiymatlarini o'qiy oladi. gets() faqat belgilar qatori ma'lumotlarini oladi.

Xulosa – scanf vs get

scanf va gets C dasturlash tili tomonidan taqdim etilgan funksiyalardir. Foydalanuvchi bu funksiyalarni boshidan amalga oshirishi shart emas. Ular to'g'ridan-to'g'ri o'z dasturlarida foydalanishlari mumkin. Scanf va gets o'rtasidagi farq shundaki, scanf bo'shliq, yangi qator yoki fayl oxiri (EOF) bilan duch kelganda ma'lumotlarni qabul qilishni tugatadi va bo'sh joyni kirish satrining bir qismi sifatida ko'rib chiqadi va yangi qator yoki EOF bilan uchrashganda kiritishni tugatadi. Scanf yoki gets dan foydalanish ko'pincha klaviatura bo'lgan standart kirishdan foydalanuvchi ma'lumotlarini qabul qilish usuliga bog'liq. scanf olishdan koʻra moslashuvchanroq.

Scanf vs gets-ning PDF-versiyasini yuklab oling

Siz ushbu maqolaning PDF-versiyasini yuklab olishingiz va iqtibos keltirgan holda oflayn maqsadlarda foydalanishingiz mumkin. Iltimos, PDF versiyasini bu yerdan yuklab oling scanf vaoʻrtasidagi farq

Tavsiya: