Tofauti Kati ya scanf na anazopata

Orodha ya maudhui:

Tofauti Kati ya scanf na anazopata
Tofauti Kati ya scanf na anazopata

Video: Tofauti Kati ya scanf na anazopata

Video: Tofauti Kati ya scanf na anazopata
Video: Difference between scanf( ) and gets( ) function to read string in c programming language 2024, Julai
Anonim

Tofauti Muhimu – scanf vs anapata

Kitendo cha kukokotoa ni mkusanyiko wa kauli za kutekeleza kazi mahususi. Bila kuandika taarifa zote katika mpango huo huo, inaweza kugawanywa katika kazi nyingi. Katika programu, mtumiaji anaweza kufafanua kazi zake mwenyewe. Pia kuna kazi zinazotolewa na lugha za programu. Lugha ya C hutoa idadi ya kazi, hivyo programu inaweza kuzitumia moja kwa moja bila kuzitekeleza tangu mwanzo. Vitendaji viwili kama hivyo vilivyotolewa na lugha ya C ni scanf na anapata. Nakala hii inajadili tofauti kati ya kazi hizi mbili. Tofauti kuu kati ya scanf na gets ni kwamba scanf huishia kuchukua ingizo inapokutana na whitespace, newline au End Of File (EOF) ilhali inapata inazingatia nafasi nyeupe kama sehemu ya mfuatano wa ingizo na kumalizia ingizo inapokutana na laini mpya au EOF.

Scanf ni nini?

Kitendo cha kukokotoa cha scanf kinaweza kusoma maandishi kutoka kwa kibodi na kuyahifadhi kulingana na kibainishi cha umbizo kilichotolewa. Husoma ingizo hadi kukutana na nafasi nyeupe, laini mpya au EOF. Sintaksia ni kama ifuatavyo.

scaf(“mfuatano wa mfuatano”, orodha ya anwani ya viambajengo);

Rejea mfano uliotolewa hapa chini ili kuelewa scanf.

Tofauti kati ya scanf na anapata
Tofauti kati ya scanf na anapata
Tofauti kati ya scanf na anapata
Tofauti kati ya scanf na anapata

Kielelezo 01: scanf na ingizo moja

Kulingana na programu iliyo hapo juu, ingizo linalotoka kwa kibodi ni nambari kamili, kwa hivyo kibainishi cha umbizo ni %d. Ikiwa inapata thamani ya mhusika, kibainishi cha umbizo ni %c. Ikiwa unapata thamani ya sehemu inayoelea, kibainishi cha umbizo ni %f. Thamani ya ingizo iliyopokelewa inapaswa kuhifadhiwa katika kigezo cha nambari. Kwa hiyo, anwani ya nambari ya kutofautiana hupitishwa kwenye kazi ya scanf. Sasa nambari ya kutofautisha ina thamani iliyotolewa na mtumiaji kutoka kwa kibodi. Hatimaye, tunaweza kuchapisha kigezo cha nambari ili kuangalia thamani.

Pia inawezekana kupokea zaidi ya thamani moja kwa wakati mmoja.

Tofauti kati ya scanf na gets_Kielelezo 02
Tofauti kati ya scanf na gets_Kielelezo 02
Tofauti kati ya scanf na gets_Kielelezo 02
Tofauti kati ya scanf na gets_Kielelezo 02

Kielelezo 02: uchanganuzi wenye pembejeo nyingi

Ingizo zilizopokelewa huhifadhiwa katika nambari1 na nambari2. Thamani zinaweza kuangaliwa kwa kutumia printf.

Anapata nini?

Utendakazi wa gets inatumiwa kupokea ingizo kutoka kwa kibodi hadi ipate laini mpya au EOF. Nafasi nyeupe inazingatiwa kama sehemu ya ingizo. Sintaksia ya kupata chaguo za kukokotoa ni kama ifuatavyo.

hupata(“mahali pa kuhifadhi mfuatano”);

Iwapo kuna hitilafu wakati wa kupokea mfuatano, kitendakazi cha gets kitaleta thamani batili.

Rejelea mfano ulio hapa chini,

Tofauti muhimu kati ya scanf na anapata
Tofauti muhimu kati ya scanf na anapata
Tofauti muhimu kati ya scanf na anapata
Tofauti muhimu kati ya scanf na anapata

Kielelezo 03: anapata

Ingizo hupokelewa na kitendakazi cha gets na kuhifadhiwa katika neno1 tofauti. Ikiwa kipanga programu kilitumia scanf badala ya kupata na kuingiza mfuatano kama vile "hello world", scanf itasoma mfuatano huo kama mifuatano miwili kwa sababu ya nafasi nyeupe. Lakini gets ataisoma kama mfuatano mmoja "hello world".

Je, Kuna Ufanano Gani Kati ya scanf na anazopata?

  • Zote ni chaguo za kukokotoa zinazotolewa na lugha ya programu C.
  • Zote mbili zinapaswa kujumuisha faili ya kichwa stdio.h ili kutumia vitendaji hivi.
  • Zote mbili zinaweza kutumika kupata ingizo kutoka kwa ingizo la kawaida.

Kuna tofauti gani kati ya scanf na anazopata?

scaf dhidi ya anapata

scanf ni chaguo la kukokotoa la C ili kusoma ingizo kutoka kwa ingizo la kawaida hadi kukutana na nafasi nyeupe, laini mpya au EOF. gets ni chaguo la kukokotoa la C ili kusoma ingizo kutoka kwa ingizo la kawaida hadi kukutana na laini mpya au EOF. Inazingatia nafasi nyeupe kama sehemu ya ingizo.
Sintaksia
Chaguo za kukokotoa za scanf huchukua mfuatano wa umbizo na orodha ya anwani za vigeu. k.m. scanf(“%d”, &nambari); inapata chaguo za kukokotoa huchukua jina la kigezo ili kuhifadhi thamani iliyopokelewa. K.m. anapata(jina);
Kubadilika
scanf inaweza kusoma thamani nyingi za aina tofauti za data. gets() itapata data ya mfuatano wa herufi pekee.

Muhtasari – scanf vs anapata

scanf na gets ni chaguo za kukokotoa zinazotolewa na lugha ya programu C. Mtumiaji hahitaji kutekeleza vipengele hivi tangu mwanzo. Wanaweza kuzitumia moja kwa moja katika programu zao. Tofauti kati ya scanf na gets ni kwamba, scanf huishia kuchukua ingizo inapokutana na whitespace, newline au End Of File (EOF) na inazingatia nafasi nyeupe kama sehemu ya mfuatano wa ingizo na kumalizia ingizo inapokutana na laini mpya au EOF. Kutumia scanf au gets kunategemea njia ya kupokea ingizo la mtumiaji kutoka kwa ingizo la kawaida ambalo ni kibodi mara nyingi. scanf inanyumbulika zaidi kuliko inavyopata.

Pakua Toleo la PDF la scanf vs anapata

Unaweza kupakua toleo la PDF la makala haya na uitumie kwa madhumuni ya nje ya mtandao kulingana na dokezo la manukuu. Tafadhali pakua toleo la PDF hapa Tofauti kati ya scanf na kupata

Ilipendekeza: