सी प्रोग्रामिंग भाषेत दोन तारांची तुलना कशी करावी

लेखक: William Ramirez
निर्मितीची तारीख: 18 सप्टेंबर 2021
अद्यतन तारीख: 1 जुलै 2024
Anonim
दोन स्ट्रिंग्सची तुलना करण्यासाठी C_68 C प्रोग्राम | strcmp() सह आणि strcmp() फंक्शनशिवाय
व्हिडिओ: दोन स्ट्रिंग्सची तुलना करण्यासाठी C_68 C प्रोग्राम | strcmp() सह आणि strcmp() फंक्शनशिवाय

सामग्री

कोणत्या स्ट्रिंगमध्ये अधिक वर्ण आहेत हे शोधण्यासाठी स्ट्रिंग लांबीची तुलना करणे सी कोडमध्ये सामान्य आहे. डेटा क्रमवारी लावण्यासाठी हे उपयुक्त आहे. तारांची तुलना करण्यासाठी एक विशेष कार्य आवश्यक आहे - वापरू नका != किंवा ==.

पावले

  1. 1 सी प्रोग्रामिंग भाषेमध्ये दोन फंक्शन्स समाविष्ट आहेत ज्या तुम्ही स्ट्रिंग लांबीची तुलना करण्यासाठी वापरू शकता. या दोन्ही फंक्शन्स लायब्ररीत समाविष्ट आहेत string.h>.
    • strcmp () - हे कार्य दोन तारांची तुलना करते आणि वर्णांच्या संख्येतील फरक परत करते.
    • strncmp () - हे कार्य सारखेच आहे strcmp () पहिले वगळता n वर्ण. हे अधिक सुरक्षित मानले जाते कारण ते ओव्हरफ्लो अपयश टाळते.
  2. 2 आवश्यक ग्रंथालयांसह कार्यक्रम सुरू करा. आपल्याला ग्रंथालयांची आवश्यकता असेल stdio.h> आणि string.h>तसेच आपल्या विशिष्ट कार्यक्रमासाठी आवश्यक असलेल्या इतर कोणत्याही लायब्ररी.

    #includ stdio.h> #include string.h>

  3. 3 फंक्शन प्रविष्ट करा int. दोन तारांच्या लांबीची तुलना केल्यामुळे हे पूर्णांक परत करते.

    #समावेश stdio.h> #समावेश string.h> int main () {}

  4. 4 आपण तुलना करू इच्छित असलेल्या दोन तार ओळखा. आमच्या उदाहरणामध्ये, प्रकाराच्या दोन तारांची तुलना करूया चार... रिटर्न व्हॅल्यू पूर्णांक म्हणून देखील परिभाषित करा.

    #include stdio.h> #include string.h> int main () {char * str1 = "सफरचंद"; char * str2 = "संत्रा"; int ret; }

  5. 5 तुलना कार्य प्रविष्ट करा. आमच्या उदाहरणात, आम्ही फंक्शन वापरू strncmp ()... त्यात आपल्याला मोजलेल्या वर्णांची संख्या सेट करणे आवश्यक आहे.

    #include stdio.h> #include string.h> int main () {char * str1 = "सफरचंद"; char * str2 = "संत्रा"; int ret; ret = strncmp (str1, str2, 8); / * दोन तारांची तुलना 8 वर्ण लांब * /}

  6. 6 सशर्त विधान प्रविष्ट करा तर... बाकी. कोणती ओळ जास्त लांब आहे हे दाखवणे आवश्यक आहे. कार्य strncmp () नंबर परत करेल 0जर तारांची लांबी समान असेल, जर str1 जास्त असेल तर सकारात्मक संख्या आणि जर str2 जास्त असेल तर नकारात्मक संख्या.

    #include stdio.h> #include string.h> int main () {char * str1 = "सफरचंद"; char * str2 = "संत्रा"; int ret; ret = strncmp (str1, str2, 8); जर (ret> 0) {printf ("str1 लांब आहे"); } अन्यथा जर (ret 0) {printf ("str2 लांब आहे"); } अन्यथा {printf ("ओळींची लांबी समान आहे"); } परत (0); }

चेतावणी

  • लक्षात ठेवा की जर तारांची लांबी समान असेल तर मूल्य 0 परत येईल. हे गोंधळात टाकणारे असू शकते कारण 0 देखील चुकीचे आहे.