![C_68 C ప్రోగ్రామ్ రెండు స్ట్రింగ్లను పోల్చడానికి | strcmp() మరియు strcmp() ఫంక్షన్ లేకుండా](https://i.ytimg.com/vi/la1jAMx_Lzc/hqdefault.jpg)
విషయము
ఏ స్ట్రింగ్లో ఎక్కువ అక్షరాలు ఉన్నాయో తెలుసుకోవడానికి స్ట్రింగ్ పొడవులను సరిపోల్చడం సి కోడ్లో సర్వసాధారణం. డేటాను క్రమబద్ధీకరించడానికి ఇది ఉపయోగపడుతుంది. తీగలను సరిపోల్చడానికి ఒక ప్రత్యేక ఫంక్షన్ అవసరం - ఉపయోగించవద్దు != లేదా ==.
దశలు
1 సి ప్రోగ్రామింగ్ లాంగ్వేజ్ స్ట్రింగ్ పొడవులను సరిపోల్చడానికి మీరు ఉపయోగించే రెండు ఫంక్షన్లను కలిగి ఉంటుంది. ఈ రెండు విధులు లైబ్రరీలో చేర్చబడ్డాయి string.h>.
- strcmp () - ఈ ఫంక్షన్ రెండు తీగలను సరిపోల్చి, అక్షరాల సంఖ్యలో వ్యత్యాసాన్ని చూపుతుంది.
- strncmp () - ఈ ఫంక్షన్ అదే strcmp () మొదటిది తప్ప ఎన్ పాత్రలు. ఇది ఓవర్ఫ్లో వైఫల్యాలను నివారిస్తుంది కనుక ఇది మరింత సురక్షితమైనదిగా పరిగణించబడుతుంది.
2 అవసరమైన లైబ్రరీలతో ప్రోగ్రామ్ను ప్రారంభించండి. మీకు లైబ్రరీలు అవసరం stdio.h> మరియు string.h>అలాగే మీ నిర్దిష్ట ప్రోగ్రామ్ కోసం అవసరమైన ఇతర లైబ్రరీలు.
#stdio.h> #string.h> ని చేర్చండి
3 ఫంక్షన్ను నమోదు చేయండి int. ఇది రెండు తీగల పొడవును పోల్చిన ఫలితంగా ఒక పూర్ణాంకాన్ని అందిస్తుంది.
#stdio.h> #చేర్చండి string.h> int ప్రధాన () {}
4 మీరు పోల్చాలనుకుంటున్న రెండు తీగలను గుర్తించండి. మా ఉదాహరణలో, రెండు తీగలను సరిపోల్చండి చార్... రిటర్న్ విలువను పూర్ణాంకంగా కూడా నిర్వచించండి.
#చేర్చండి stdio.h> #string.h> int ప్రధాన () {char * str1 = "apple"; char * str2 = "నారింజ"; int రెట్; }
5 పోలిక ఫంక్షన్ను నమోదు చేయండి. మా ఉదాహరణలో, మేము ఫంక్షన్ను ఉపయోగిస్తాము strncmp ()... దీనిలో మీరు కొలిచిన అక్షరాల సంఖ్యను సెట్ చేయాలి.
#చేర్చండి stdio.h> #string.h> int ప్రధాన () {char * str1 = "apple"; char * str2 = "నారింజ"; int రెట్; ret = strncmp (str1, str2, 8); / * 8 అక్షరాల పొడవు గల రెండు తీగలను సరిపోల్చండి * /}
6 షరతులతో కూడిన ప్రకటనను నమోదు చేయండి ఒకవేళ... లేకపోతే. ఏ లైన్ ఎక్కువ అని చూపించడానికి ఇది అవసరం. ఫంక్షన్ strncmp () సంఖ్యను తిరిగి ఇస్తుంది 0స్ట్రింగ్ల పొడవు ఒకేలా ఉంటే, str1 పొడవుగా ఉంటే పాజిటివ్ సంఖ్య, మరియు str2 పొడవుగా ఉంటే ప్రతికూల సంఖ్య.
#చేర్చండి stdio.h> #string.h> int ప్రధాన () {char * str1 = "apple"; char * str2 = "నారింజ"; int రెట్; ret = strncmp (str1, str2, 8); ఒకవేళ (ret> 0) {printf ("str1 పొడవు"); } వేరే ఉంటే (ret 0) {printf ("str2 పొడవు"); } వేరే {printf ("లైన్ పొడవు సమానం"); } రిటర్న్ (0); }
హెచ్చరికలు
- స్ట్రింగ్ల పొడవు సమానంగా ఉంటే, విలువ 0 తిరిగి ఇవ్వబడుతుందని గుర్తుంచుకోండి. ఇది గందరగోళంగా ఉంటుంది ఎందుకంటే 0 కూడా తప్పు.