ძირითადი სხვაობა – სკანფი და მიღებები
ფუნქცია არის განცხადებების ნაკრები კონკრეტული დავალების შესასრულებლად. ყველა განცხადების ერთსა და იმავე პროგრამაში ჩაწერის გარეშე, ის შეიძლება დაიყოს მრავალ ფუნქციად. პროგრამირებისას მომხმარებელს შეუძლია განსაზღვროს საკუთარი ფუნქციები. ასევე არის პროგრამირების ენების მიერ მოწოდებული ფუნქციები. C ენა უზრუნველყოფს უამრავ ფუნქციას, ამიტომ პროგრამისტს შეუძლია გამოიყენოს ისინი უშუალოდ თავიდანვე მათი განხორციელების გარეშე. C ენის მიერ მოწოდებული ორი ასეთი ფუნქციაა scanf და gets. ეს სტატია განიხილავს განსხვავებას ამ ორ ფუნქციას შორის. scanf-სა და gets-ს შორის მთავარი განსხვავება ისაა, რომ სკანფი ამთავრებს შეყვანის მიღებას უფსკრულის, ახალი ხაზის ან ფაილის დასასრულის (EOF) შეხვედრისას, ხოლო იღებს განიხილავს სივრცეს, როგორც შეყვანის სტრიქონის ნაწილს და ამთავრებს შეყვანას ახალი ხაზის ან EOF-ის შეხვედრისთანავე.
რა არის სკანფი?
Scanf ფუნქციას შეუძლია წაიკითხოს შეყვანის კლავიატურა და ინახავს მათ მოცემული ფორმატის სპეციფიკატორის მიხედვით. ის კითხულობს შეყვანას მანამ, სანამ არ შეხვდება უფსკრული, ახალი ხაზი ან EOF. სინტაქსი ასეთია.
scanf("ფორმატის სტრიქონი", ცვლადების მისამართების სია);
იხილეთ ქვემოთ მოცემული მაგალითი სკანფის გასაგებად.
სურათი 01: სკანირება ერთი შეყვანით
ზემოხსენებული პროგრამის მიხედვით, კლავიატურიდან მიღებული შეყვანა არის მთელი რიცხვი, ამიტომ ფორმატის დამახასიათებელი არის %d. თუ ის იღებს სიმბოლოს მნიშვნელობას, ფორმატის დამახასიათებელია %c.თუ მიიღებთ მცურავი წერტილის მნიშვნელობას, ფორმატის დამახასიათებელია %f. მიღებული შეყვანის მნიშვნელობა უნდა იყოს შენახული რიცხვის ცვლადში. ამიტომ, ცვლადის ნომრის მისამართი გადადის scanf ფუნქციაში. ახლა რიცხვის ცვლადი შეიცავს მომხმარებლის მიერ მოცემულ მნიშვნელობას კლავიატურიდან. და ბოლოს, ჩვენ შეგვიძლია დავბეჭდოთ რიცხვითი ცვლადი მნიშვნელობის შესამოწმებლად.
ასევე შესაძლებელია ერთზე მეტი მნიშვნელობის მიღება ერთდროულად.
სურათი 02: სკანფი მრავალი შეყვანით
მიღებული შენატანები ინახება ცვლადში ნომერი1 და ნომერი2. მნიშვნელობების შემოწმება შესაძლებელია printf-ის გამოყენებით.
რა არის მიღებული?
gets ფუნქცია გამოიყენება კლავიატურიდან შეყვანის მისაღებად ახალ ხაზთან ან EOF-მდე შეხვედრამდე. უფსკრული განიხილება შეყვანის ნაწილად. gets ფუნქციის სინტაქსი ასეთია.
მიიღება ("სად შეინახოთ სტრიქონი");
თუ სტრიქონის მიღებისას შეცდომაა, gets ფუნქცია დააბრუნებს null მნიშვნელობას.
იხილეთ ქვემოთ მოცემული მაგალითი,
სურათი 03: იღებს
შეყვანა მიიღება gets ფუნქციით და ინახება ცვლადში word1. თუ პროგრამისტმა გამოიყენა scanf ნაცვლად gets-ისა და შეიყვანოს სტრიქონი, როგორიცაა „hello world“, scanf წაიკითხავს სტრიქონს, როგორც ორ სტრიქონს, ცარიელი სივრცის გამო.მაგრამ gets წაიკითხავს მას როგორც ერთი სტრიქონი "hello world".
რა მსგავსებაა სკანფსა და მიღებას შორის?
- ორივე ფუნქციაა მოწოდებული C პროგრამირების ენის მიერ.
- ორივე უნდა შეიცავდეს სათაურის ფაილს stdio.h ამ ფუნქციების გამოსაყენებლად.
- ორივე შეიძლება გამოყენებულ იქნას სტანდარტული შეყვანის მისაღებად.
რა განსხვავებაა სკანფსა და მიღებას შორის?
scanf vs იღებს |
|
scanf არის C ფუნქცია. | gets არის C ფუნქცია, რომელიც წაიკითხავს შეყვანის სტანდარტული შეყვანიდან ახალ ხაზს ან EOF-ს შეხვედრამდე. ის განიხილავს თეთრ სივრცეს შეყვანის ნაწილად. |
სინტაქსი | |
scanf ფუნქცია იღებს ფორმატის სტრიქონს და ცვლადების მისამართების სიას. მაგალითად. scanf(„%d“, &number); | gets ფუნქცია იღებს ცვლადის სახელს მიღებული მნიშვნელობის შესანახად. Მაგალითად. იღებს (სახელი); |
მოქნილობა | |
scanf შეუძლია წაიკითხოს სხვადასხვა ტიპის მონაცემთა მრავალი მნიშვნელობა. | gets() მიიღებს მხოლოდ სიმბოლოების სტრიქონის მონაცემებს. |
შეჯამება – სკანფები და მიღებები
scanf და gets არის ფუნქციები, რომლებიც უზრუნველყოფილია პროგრამირების C ენის მიერ. მომხმარებელს არ სჭირდება ამ ფუნქციების თავიდან დანერგვა. მათ შეუძლიათ პირდაპირ გამოიყენონ ისინი თავიანთ პროგრამებში. განსხვავება scanf-სა და gets-ს შორის არის ის, რომ scanf ამთავრებს შეყვანის მიღებას უფსკრულის, ახალი ხაზის ან ფაილის დასასრულის (EOF) შეხვედრისთანავე და განიხილავს სივრცეს, როგორც შეყვანის სტრიქონის ნაწილს და ამთავრებს შეყვანას ახალი ხაზის ან EOF-ის შეხვედრისთანავე.scanf-ის ან gets-ის გამოყენება დამოკიდებულია მომხმარებლის შეყვანის მიღების გზაზე სტანდარტული შეყვანიდან, რომელიც უმეტესად კლავიატურაზეა. სკანფი უფრო მოქნილია ვიდრე ხდება.
ჩამოტვირთეთ scanf vs gets-ის PDF ვერსია
შეგიძლიათ ჩამოტვირთოთ ამ სტატიის PDF ვერსია და გამოიყენოთ იგი ოფლაინ მიზნებისთვის ციტირების შენიშვნის მიხედვით. გთხოვთ ჩამოტვირთოთ PDF ვერსია აქ სხვაობა სკანფსა და მიღებას შორის