Жолдың ұзындығын салыстыру - C бағдарламалаудың кең таралған функциясы, себебі ол қай жолда көбірек символдар бар екенін көруге мүмкіндік береді. Бұл деректерді сұрыптау үшін өте пайдалы. Жолдарды салыстыру арнайы функцияны қажет етеді; пайдаланбаңыз! = немесе ==.
Қадамдар
Қадам 1. С -да жолдарды салыстыруға мүмкіндік беретін екі функция бар
Бұл екі функция да кітапханаға енгізілген.
- strcmp () - Бұл функция екі жолды салыстырады және символдар санының салыстырмалы айырмашылығын қайтарады.
- strncmp () - Бұл strcmp () сияқты, тек бірінші n таңбаны салыстырады. Бұл қауіпсіз деп саналады, себебі ол апаттардың толып кетуіне жол бермейді.
Қадам 2. Бағдарламаны қажетті кітапханалармен бастаңыз
Сізге нақты бағдарламаңыз үшін қажет болуы мүмкін кез келген басқа кітапханалармен бірге кітапханалар да қажет болады.
#қосу #қосу
3 -қадам
int функция.
Бұл функцияны үйренудің ең оңай жолы, себебі ол екі жолдың ұзындығын салыстыратын бүтін санды қайтарады.
#include #include int main () {}
Қадам 4. Салыстырғыңыз келетін екі жолды анықтаңыз
Бұл мысал үшін біз алдын ала анықталған екі символды салыстырамыз. Сондай -ақ, қайтарылатын мәнді бүтін сан ретінде анықтағыңыз келеді.
#include #include int main () {char *str1 = «apple»; char *str2 = «қызғылт сары»; int ret; }
Қадам 5. Салыстыру функциясын қосыңыз
Енді сізде екі жол анықталғаннан кейін салыстыру функциясын қосуға болады. Біз strncmp () қолданамыз, сондықтан функцияда өлшенетін таңбалар санының орнатылғанына көз жеткізуіміз керек.
#include #include int main () {char *str1 = «apple»; char *str2 = «қызғылт сары»; int ret; ret = strncmp (str1, str2, 6); / *Бұл ұзындығы 6 таңбадан тұратын екі жолды салыстырады */}
6 -қадам
Егер… Басқа салыстыруды орындауға арналған мәлімдеме.
Енді сізде функция бар болғандықтан, қай жол ұзын екенін көрсету үшін If… Else операторын қолдануға болады. strncmp () жолдардың ұзындығы бірдей болса 0 қайтарады, str1 үлкен болса оң сан, str2 үлкен болса теріс сан.
#include #include int main () {char *str1 = «apple»; char *str2 = «қызғылт сары»; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf («str1 ұзынырақ»); } else if (ret <0) {printf («str2 ұзынырақ»); } else {printf («Екі жол тең»); } қайтару (0); }