ቁልፍ ልዩነት - ስካንፍ vs ያገኛል
አንድ ተግባር አንድን ተግባር ለማከናወን የመግለጫዎች ስብስብ ነው። ሁሉንም መግለጫዎች በተመሳሳይ ፕሮግራም ውስጥ ሳይጽፉ ወደ ብዙ ተግባራት ሊከፋፈሉ ይችላሉ. በፕሮግራም አወጣጥ ውስጥ ተጠቃሚው የራሱን ተግባራት መግለጽ ይችላል. በፕሮግራሚንግ ቋንቋዎች የሚሰጡ ተግባራትም አሉ። C ቋንቋ በርካታ ተግባራትን ያቀርባል, ስለዚህ ፕሮግራመር ከመጀመሪያው ጀምሮ እነሱን ሳይተገበር በቀጥታ ሊጠቀምባቸው ይችላል. በ C ቋንቋ የሚሰጡ ሁለት እንደዚህ ያሉ ተግባራት ስካንፍ እና ግኝቶች ናቸው። ይህ ጽሑፍ በእነዚህ ሁለት ተግባራት መካከል ያለውን ልዩነት ያብራራል. በScanf እና Gets መካከል ያለው ቁልፍ ልዩነት ስካንፍ ነጭ ቦታ፣ አዲስ መስመር ወይም የፋይል መጨረሻ (EOF) ሲያጋጥመው ግብዓት መውሰድ የሚያበቃ ሲሆን ነጭ ቦታን እንደ የግቤት ሕብረቁምፊ አካል አድርጎ ይቆጥረዋል እና ግቤቱን አዲስ መስመር ወይም EOF ሲያጋጥመው ያበቃል።
ስካንፍ ምንድን ነው?
የስካንፍ ተግባሩ ከቁልፍ ሰሌዳው ላይ ግብዓት ማንበብ እና በተሰጠው ቅርጸት ገላጭ መሰረት ያከማቻል። ነጭ ቦታ፣ አዲስ መስመር ወይም EOF እስክትገናኝ ድረስ ግቤቱን ያነባል። አገባቡ እንደሚከተለው ነው።
scanf("የቅርጸት ሕብረቁምፊ"፣የተለዋዋጮች አድራሻ ዝርዝር)፤
Scanfን ለመረዳት ከዚህ በታች ያለውን ምሳሌ ይመልከቱ።
ስእል 01፡ scanf በአንድ ግብአት
ከላይ ባለው ፕሮግራም መሰረት ከቁልፍ ሰሌዳው የሚገኘው ግብአት ኢንቲጀር ነው፣ስለዚህ የቅርጸቱ አመልካች %d ነው። የቁምፊ እሴት እያገኘ ከሆነ፣ የቅርጸቱ ገላጭ %c ነው።ተንሳፋፊ-ነጥብ እሴት ካገኘ፣ የቅርጸቱ ገላጭ %f ነው። የተቀበለው የግቤት ዋጋ በቁጥር ተለዋዋጭ ውስጥ መቀመጥ አለበት. ስለዚህ, የተለዋዋጭ ቁጥር አድራሻ ወደ ስካንፍ ተግባር ተላልፏል. አሁን የቁጥር ተለዋዋጭ ከቁልፍ ሰሌዳው በተጠቃሚው የተሰጠውን እሴት ይዟል. በመጨረሻም እሴቱን ለማረጋገጥ የቁጥር ተለዋዋጭ ማተም እንችላለን።
በአንድ ጊዜ ከአንድ በላይ ዋጋ መቀበልም ይቻላል።
ምስል 02፡ scanf ከበርካታ ግብዓቶች ጋር
የተቀበሉት ግብአቶች በተለዋዋጭ ቁጥር 1 እና ቁጥር2 ተቀምጠዋል። printfን በመጠቀም እሴቶችን ማረጋገጥ ይቻላል።
ምን ያገኛል?
የማግኘት ተግባር አዲስ መስመር ወይም ኢኦኤፍ እስክንገናኝ ድረስ ከቁልፍ ሰሌዳው ላይ ግብዓት ለመቀበል እየተጠቀመ ነው። የነጣው ቦታ እንደ የመግቢያው አካል ይቆጠራል። የጌስ ተግባር አገባብ እንደሚከተለው ነው።
ያገኛል("ሕብረቁምፊውን የት እንደሚያከማች");
ሕብረቁምፊውን ሲቀበሉ ስህተት ካለ፣የጌትስ ተግባር ባዶ እሴት ይመልሳል።
ከታች ያለውን ምሳሌ ይመልከቱ፣
ስእል 03፡ ያገኛል
ግብአቱ የተገኘው በጌትስ ተግባር ነው እና በተለዋዋጭ ቃል1 ውስጥ ይከማቻል። ፕሮግራመር ከማግኘት ይልቅ ስካንፍን ከተጠቀመ እና እንደ "ሄሎ አለም" ያለ ሕብረቁምፊ ካስገባ፣ ስካንፍ በነጭ ቦታ ምክንያት ገመዱን እንደ ሁለት ሕብረቁምፊዎች ያነባል።ግን ጌትስ እንደ አንድ ሕብረቁምፊ ያነበዋል "ሄሎ ዓለም"።
በስካንፍ እና በማግኘት መካከል ያለው ተመሳሳይነት ምንድን ነው?
- ሁለቱም በC ፕሮግራሚንግ ቋንቋ የሚቀርቡ ተግባራት ናቸው።
- እነዚህን ተግባራት ለመጠቀም ሁለቱም የራስጌ ፋይል stdio.h ማካተት አለባቸው።
- ሁለቱም ከመደበኛ ግብአት ግብዓት ለማግኘት መጠቀም ይቻላል።
በስካንፍ እና በማግኘቱ መካከል ያለው ልዩነት ምንድን ነው?
scanf vs Gets |
|
scanf ነጭ ቦታ፣ አዲስ መስመር ወይም ኢኦፍ እስክንገናኝ ድረስ ከመደበኛ ግብአት ግብዓት ለማንበብ C ተግባር ነው። | የማግኘት አዲስ መስመር ወይም ኢኦኤፍ እስክንገናኝ ድረስ ከመደበኛ ግብአት ግብዓት ለማንበብ C ተግባር ነው። ነጭ ቦታን እንደ የግቤት አንድ አካል አድርጎ ይቆጥራል። |
አገባብ | |
scanf ተግባር የቅርጸት ሕብረቁምፊውን እና የተለዋዋጮችን አድራሻ ዝርዝር ይወስዳል። ለምሳሌ. scanf("%d", &ቁጥር); | የማግኘት ተግባር የተቀበለውን እሴት ለማከማቸት የተለዋዋጭውን ስም ይወስዳል። ለምሳሌ. ያገኛል(ስም)፤ |
ተለዋዋጭነት | |
scanf የተለያዩ የውሂብ አይነቶች በርካታ እሴቶችን ማንበብ ይችላል። | የማግኘት() የቁምፊ ሕብረቁምፊ ውሂብ ብቻ ነው የሚያገኘው። |
ማጠቃለያ - scanf vs gets
scanf እና gets በፕሮግራሚንግ ቋንቋ የሚቀርቡ ተግባራት ናቸው።ተጠቃሚ እነዚህን ተግባራት ከመጀመሪያው ጀምሮ ተግባራዊ ማድረግ አያስፈልገውም። በፕሮግራሞቻቸው ውስጥ በቀጥታ ሊጠቀሙባቸው ይችላሉ. በScanf እና Gets መካከል ያለው ልዩነት፣ ስካንፍ ነጭ ቦታ፣ አዲስ መስመር ወይም የፋይል መጨረሻ (EOF) ሲያጋጥመው ግብዓት መውሰድ ያበቃል እና ነጭ ቦታን እንደ የግቤት ሕብረቁምፊው አካል ይቆጥረዋል እና አዲስ መስመር ወይም ኢኦኤፍ ሲያጋጥሙ ግብአቱን ያበቃል።ስካንፍ ወይም ጌት መጠቀም አብዛኛውን ጊዜ የቁልፍ ሰሌዳ ከሆነው መደበኛ ግቤት የተጠቃሚን ግብአት መቀበል በሚቻልበት መንገድ ይወሰናል። scanf ከማግኘቱ የበለጠ ተለዋዋጭ ነው።
የፒዲኤፍ ስሪት ያውርዱ scanf vs gets
የዚህን ጽሁፍ ፒዲኤፍ ስሪት አውርደው እንደ ጥቅስ ማስታወሻ ከመስመር ውጭ ዓላማ መጠቀም ይችላሉ። እባኮትን የፒዲኤፍ ስሪት እዚህ ያውርዱ በ scanf እና በማግኘት መካከል ያለው ልዩነት