Scanf болон get-ийн ялгаа

Агуулгын хүснэгт:

Scanf болон get-ийн ялгаа
Scanf болон get-ийн ялгаа

Видео: Scanf болон get-ийн ялгаа

Видео: Scanf болон get-ийн ялгаа
Видео: Qr code generator - QR код хэрхэн хялбараар хийх вэ? 2024, Арваннэгдүгээр
Anonim

Гол ялгаа – scanf ба авах

Функц гэдэг нь тодорхой даалгаврыг гүйцэтгэх мэдэгдлийн багц юм. Нэг программд бүх мэдэгдлийг бичихгүйгээр олон функцэд хувааж болно. Програмчлалын хувьд хэрэглэгч өөрийн функцийг тодорхойлж болно. Програмчлалын хэлээр хангагдсан функцууд бас байдаг. Си хэл нь хэд хэдэн функцийг хангадаг тул программист тэдгээрийг эхнээс нь хэрэгжүүлэхгүйгээр шууд ашиглах боломжтой. Си хэлээр хангагдсан ийм хоёр функц нь scanf болон get юм. Энэ нийтлэлд эдгээр хоёр функцийн ялгааг авч үзэх болно. Scanf болон gets хоёрын гол ялгаа нь scanf нь хоосон зай, шинэ мөр эсвэл файлын төгсгөл (EOF)-тай тулгарах үед оролт авч дуусдаг бол get нь хоосон зайг оролтын мөрийн хэсэг гэж үзэж, шинэ мөр эсвэл EOF-тэй тулгарах үед оролтыг дуусгадагт оршино.

Scanf гэж юу вэ?

Scanf функц нь гараас оролтыг уншиж, өгөгдсөн формат тодорхойлогчийн дагуу хадгалдаг. Энэ нь хоосон зай, шинэ мөр эсвэл EOF гарч ирэх хүртэл оролтыг уншина. Синтакс нь дараах байдалтай байна.

scanf("форматын мөр", хувьсагчийн хаягийн жагсаалт);

Scanf-г ойлгохын тулд доорх жишээг үзнэ үү.

Scanf болон gets хоёрын ялгаа
Scanf болон gets хоёрын ялгаа
Scanf болон gets хоёрын ялгаа
Scanf болон gets хоёрын ялгаа

Зураг 01: нэг оролттой сканнер

Дээрх программын дагуу гарнаас авах оролт нь бүхэл тоо тул формат тодорхойлогч нь %d байна. Хэрэв энэ нь тэмдэгтийн утгыг авч байгаа бол формат тодорхойлогч нь %c байна. Хэрэв хөвөгч цэгийн утгыг авах бол формат тодорхойлогч нь %f байна. Хүлээн авсан оролтын утгыг тоон хувьсагчид хадгалах ёстой. Тиймээс хувьсагчийн дугаарын хаягийг scanf функцэд шилжүүлдэг. Одоо тоон хувьсагч нь хэрэглэгчийн гарнаас өгсөн утгыг агуулна. Эцэст нь бид утгыг шалгахын тулд тоон хувьсагчийг хэвлэж болно.

Мөн нэг удаад нэгээс олон утгыг хүлээн авах боломжтой.

Scanf ба gets_зураг 02-ын ялгаа
Scanf ба gets_зураг 02-ын ялгаа
Scanf ба gets_зураг 02-ын ялгаа
Scanf ба gets_зураг 02-ын ялгаа

Зураг 02: олон оролттой сканнер

Хүлээн авсан оролтыг 1 болон дугаар2 хувьсагчдад хадгална. Утгыг printf ашиглан шалгаж болно.

Юу авах вэ?

gets функц нь шинэ мөр эсвэл EOF-тэй тулгарах хүртэл гараас оролт хүлээн авахад ашиглагддаг. Хоосон зай нь оролтын нэг хэсэг гэж тооцогддог. Get функцийн синтакс дараах байдалтай байна.

gets(“мөрийг хаана хадгалах вэ”);

Хэрэв мөрийг хүлээн авахад алдаа гарвал gets функц нь тэг утгыг буцаана.

Доорх жишээг үзнэ үү,

Scanf ба gets хоёрын гол ялгаа
Scanf ба gets хоёрын гол ялгаа
Scanf ба gets хоёрын гол ялгаа
Scanf ба gets хоёрын гол ялгаа

Зураг 03: авна

Оролтыг gets функцээр хүлээн авч word1 хувьсагчид хадгална. Хэрэв программист gets-ийн оронд scanf-г ашигласан бол "Сайн уу ертөнц" гэх мэт мөрийг оруулдаг бол scanf нь хоосон зайны улмаас мөрийг хоёр мөр болгон унших болно. Гэхдээ gets үүнийг "Hello world" гэсэн нэг мөр болгон унших болно.

Scanf болон get хоёрын ижил төстэй талууд юу вэ?

  • Хоёулаа функцууд нь Си програмчлалын хэлээр хангагдсан.
  • Эдгээр функцийг ашиглахын тулд аль аль нь stdio.h толгой файлыг агуулсан байх ёстой.
  • Хоёуланг нь стандарт оролтоос оролт авах боломжтой.

Scanf болон авах хоёрын ялгаа нь юу вэ?

scanf vs get

scanf нь хоосон зай, шинэ мөр эсвэл EOF гарах хүртэл стандарт оролтын оролтыг уншихад зориулагдсан C функц юм. gets нь шинэ мөр эсвэл EOF-тэй тулгарах хүртэл стандарт оролтын оролтыг унших С функц юм. Энэ нь хоосон зайг оролтын нэг хэсэг гэж үздэг.
Синтакс
scanf функц нь форматын мөр болон хувьсагчийн хаягийн жагсаалтыг авдаг. жишээ нь scanf(“%d”, &тоо); gets функц нь хүлээн авсан утгыг хадгалахын тулд хувьсагчийн нэрийг авна. Жишээ нь: авдаг(нэр);
Уян хатан байдал
scanf өөр өөр төрлийн өгөгдлийн олон утгыг унших боломжтой. gets() нь зөвхөн тэмдэгтийн мөрийн өгөгдлийг авах болно.

Хураангуй – scanf vs авах

scanf болон gets нь програмчлалын хэлээр хангагдсан функцууд C. Хэрэглэгч эдгээр функцийг эхнээс нь хэрэгжүүлэх шаардлагагүй. Тэд шууд хөтөлбөртөө ашиглах боломжтой. scanf болон gets хоёрын ялгаа нь, scanf нь хоосон зай, шинэ мөр эсвэл файлын төгсгөл (EOF)-тай тулгарах үед оролт авч дуусдаг бөгөөд авах нь хоосон зайг оролтын мөрийн нэг хэсэг гэж үзэж, шинэ мөр эсвэл EOF-тай тулгарах үед оролтыг дуусгах явдал юм. Scanf эсвэл gets ашиглах нь хэрэглэгчийн оролтыг ихэвчлэн гарны стандарт оролтоос хүлээн авах аргаас хамаарна. scanf нь авахаасаа илүү уян хатан.

Scanf vs gets-ийн PDF хувилбарыг татаж авах

Та энэ нийтлэлийн PDF хувилбарыг татаж аваад офлайн зорилгоор ашиглах боломжтой. PDF хувилбарыг эндээс татаж авна уу scanf хоорондын ялгаа

Зөвлөмж болгож буй: