Հիմնական տարբերություն – scanf vs ստանում
Ֆունկցիան հայտարարությունների մի շարք է կոնկրետ առաջադրանք կատարելու համար: Առանց գրելու բոլոր հայտարարությունները նույն ծրագրում, այն կարելի է բաժանել մի քանի գործառույթների: Ծրագրավորման մեջ օգտատերը կարող է սահմանել իր գործառույթները։ Կան նաև գործառույթներ, որոնք տրամադրվում են ծրագրավորման լեզուներով։ C լեզուն ապահովում է մի շարք գործառույթներ, ուստի ծրագրավորողը կարող է դրանք օգտագործել ուղղակիորեն՝ առանց ի սկզբանե դրանք իրականացնելու։ Երկու նման գործառույթներ, որոնք տրամադրվում են C լեզվով, scanf և gets են: Այս հոդվածը քննարկում է այս երկու գործառույթների միջև եղած տարբերությունը: Scanf-ի և gets-ի հիմնական տարբերությունն այն է, որ scanf-ն ավարտում է մուտքագրումը՝ հանդիպելով բացատ, նոր տող կամ Ֆայլի վերջ (EOF), մինչդեռ ստանում է բացատը որպես մուտքային տողի մաս և ավարտում է մուտքագրումը նոր տողի կամ EOF-ի հետ հանդիպելիս:
Ինչ է scanf?
Scanf ֆունկցիան կարող է կարդալ մուտքագրումը ստեղնաշարից և պահել դրանք ըստ տվյալ ձևաչափի ցուցիչի: Այն կարդում է մուտքագրումը մինչև հանդիպի բացատ, նոր տող կամ EOF: Շարահյուսությունը հետևյալն է.
scanf («ֆորմատի տող», փոփոխականների հասցեների ցանկ);
Տե՛ս ստորև բերված օրինակը՝ scanf-ը հասկանալու համար:
Նկար 01. սկանֆ մեկ մուտքագրով
Ըստ վերոհիշյալ ծրագրի՝ ստեղնաշարից ստացվող մուտքը ամբողջ թիվ է, ուստի ձևաչափի ցուցիչը %d է։ Եթե այն ստանում է նիշի արժեք, ապա ձևաչափի ցուցիչը %c է:Եթե ստանում եք լողացող կետի արժեք, ապա ձևաչափի ցուցիչը %f է: Ստացված մուտքային արժեքը պետք է պահվի թվային փոփոխականում: Հետևաբար, փոփոխական թվի հասցեն փոխանցվում է scanf ֆունկցիային: Այժմ թվային փոփոխականը պարունակում է օգտագործողի կողմից ստեղնաշարից տրված արժեքը։ Ի վերջո, մենք կարող ենք տպել թվային փոփոխականը՝ արժեքը ստուգելու համար։
Հնարավոր է նաև միաժամանակ ստանալ մեկից ավելի արժեք։
Նկար 02. սկանֆեր մի քանի մուտքերով
Ստացված մուտքերը պահվում են թիվ 1 և թիվ 2 փոփոխականներում: Արժեքները կարելի է ստուգել՝ օգտագործելով printf:
Ի՞նչ է ստանում?
gets ֆունկցիան օգտագործվում է ստեղնաշարից մուտքագրում ստանալու համար մինչև նոր տող կամ EOF հանդիպելը: Բացատը համարվում է մուտքագրման մաս: Gets ֆունկցիայի շարահյուսությունը հետևյալն է.
ստանում է («որտեղ պահել տողը»);
Եթե տողը ստանալու ժամանակ սխալ կա, gets ֆունկցիան կվերադարձնի զրոյական արժեք:
Տե՛ս ստորև բերված օրինակը,
Նկար 03. ստանում է
Մուտքը ստացվում է gets ֆունկցիայի կողմից և պահվում է word1 փոփոխականում: Եթե ծրագրավորողն օգտագործել է scanf-ը ստանալու փոխարեն և մուտքագրել տող, ինչպիսին է «բարև աշխարհ», ապա scanf-ը կկարդա տողը որպես երկու տող՝ բացատների պատճառով:Բայց gets-ը այն կկարդա որպես մեկ տող «բարև աշխարհ»:
Որո՞նք են նմանությունները scanf-ի և gets-ի միջև:
- Երկուսն էլ գործառույթներ են, որոնք տրամադրվում են C ծրագրավորման լեզվով:
- Երկուսն էլ պետք է ներառեն վերնագրի ֆայլ stdio.h այս գործառույթներն օգտագործելու համար:
- Երկուսն էլ կարող են օգտագործվել ստանդարտ մուտքագրումից մուտքագրում ստանալու համար:
Ո՞րն է տարբերությունը scanf-ի և ստանալու միջև:
scanf vs ստանում |
|
scanf-ը C ֆունկցիա է՝ ստանդարտ մուտքագրից մուտքագրումը կարդալու համար մինչև բացատ, նոր տող կամ EOF հանդիպելը: | gets-ը C ֆունկցիա է՝ ստանդարտ մուտքագրումից մուտքագրումը կարդալու համար մինչև նոր տող կամ 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-ի և ստացման միջև