Си программалау тілінде екі жолды қалай салыстыруға болады

Автор: William Ramirez
Жасалған Күн: 18 Қыркүйек 2021
Жаңарту Күні: 1 Шілде 2024
Anonim
Алдын ала орнатылған 5 пайдалы Windows 10 бағдарламасы
Вызшақ: Алдын ала орнатылған 5 пайдалы Windows 10 бағдарламасы

Мазмұны

Қай кодта көбірек таңба бар екенін білу үшін жол ұзындығын салыстыру C кодында жиі кездеседі. Бұл деректерді сұрыптау үшін пайдалы. Жолдарды салыстыру үшін арнайы функция қажет - қолданбаңыз != немесе ==.

Қадамдар

  1. 1 C программалау тілінде жол ұзындығын салыстыру үшін қолдануға болатын екі функция бар. Бұл екі функция да кітапханаға енгізілген string.h>.
    • strcmp () - бұл функция екі жолды салыстырады және символдар санының айырмасын қайтарады.
    • strncmp () - бұл функция бірдей strcmp () біріншіден басқа n кейіпкерлер. Ол қауіпсіз деп саналады, себебі ол толып кетуден сақтайды.
  2. 2 Бағдарламаны қажетті кітапханалардан бастаңыз. Сізге кітапханалар қажет болады stdio.h> және string.h>сондай -ақ сіздің нақты бағдарламаңызға қажет кез келген басқа кітапханалар.

    #қосу stdio.h> #жолды қосу.h>

  3. 3 Функцияны енгізу int. Ол екі жолдың ұзындығын салыстыру нәтижесінде бүтін санды қайтарады.

    #include stdio.h> #include string.h> int main () {}

  4. 4 Салыстырғыңыз келетін екі жолды анықтаңыз. Біздің мысалда типтің екі жолын салыстырайық шар... Сонымен қатар қайтарылатын мәнді бүтін сан ретінде анықтаңыз.

    #include stdio.h> #include string.h> int main () {char * str1 = «apple»; char * str2 = «қызғылт сары»; int ret; }

  5. 5 Салыстыру функциясын енгізіңіз. Біздің мысалда біз функцияны қолданамыз strncmp ()... Онда өлшенген таңбалардың санын орнату қажет.

    #include stdio.h> #include string.h> int main () {char * str1 = «apple»; 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 = «apple»; char * str2 = «қызғылт сары»; int ret; ret = strncmp (str1, str2, 8); if (ret> 0) {printf («str1 ұзынырақ»); } else if (ret 0) {printf («str2 ұзынырақ»); } else {printf («Жол ұзындығы тең»); } қайтару (0); }

Ескертулер

  • Есіңізде болсын, егер жолдардың ұзындығы тең болса, 0 мәні қайтарылады. Бұл шатастыруы мүмкін, себебі 0 де ЖАЛҒАН.