Мазмун
Жиптин узундугун салыштыруу С программалоо тилинде кеңири колдонулган функция, анткени ал кайсы сапта көбүрөөк белгилер бар экендигин билүүгө мүмкүнчүлүк берет. Бул маалыматтарды иреттөө үчүн абдан пайдалуу. Сапты салыштыруу атайын функцияны талап кылат; ошондуктан колдонбоңуз: != же ==.
Басуу
- С тилкелерин салыштырууга мүмкүндүк берген эки функция бар. Экөө тең камтылган string.h>код китепканасы.
- strcmp () - Бул функция эки сапты салыштырып, белгилердин санындагы айырманы кайтарып берет.
- strncmp () - Бул дагы тиешелүү strcmp (), бул биринчиси гана болбосо н каармандарды салыштырат. Ал коопсузураак деп эсептелет, анткени ал суу ташып кетишинин алдын алат.
- Программаны керектүү китепканалар менен иштетүү. Сизде эки китепкана бар stdio.h> жана string.h> башка китепканалар менен катар сизге керек болушу мүмкүн.
#include stdio.h> [[Сүрөт: C Программалоодогу эки сапты салыштырып көрүңүз 1-кадам. 4. Нускасы .webp | борбору]] # кошуу string.h>
- Башта.intфункция. Бул функцияны үйрөнүүнүн эң оңой жолу, анткени эки саптын узундугун салыштырган бүтүн санды берет.
[[Сүрөт: C программалоонун эки сабын салыштырып көрүңүз. 2-нуска .webp | борбору]] #include stdio.h> [[Сүрөт: эки программанын эки сапын 3-программанын 3-версиясы .webp | борбору менен салыштырыңыз] борбору]] # сапты камтыйт. h> int main () {}
- Кайсы эки сапты салыштыруу керектигин чечип алыңыз. Бул мисалда биз эки маалыматты салыштырабыз char кылдар. Ошондой эле, кайтарым маанисин бүтүн сан катары аныктоо керек.
[[Сүрөт: C Программалоодагы эки сапты салыштыруу 4-кадам 4.webp | борбору]] #include stdio.h> [[Сүрөт: C Programming эки сапты салыштыруу 5-кадам 4-версия 4.webp | борбору]] # сапты камтыйт. h> int main () {char * str1 = "apple"; char * str2 = "кызгылт сары"; int ret;}
- Салыштыруу функциясын кошуңуз. Эми эки сапты аныктап, салыштыруу функциясын кошсоңуз болот. Биз барабыз strncmp () ошондуктан биз өлчөнө турган белгилердин саны функциянын чегинде коюлгандыгын текшеришибиз керек.
[[Сүрөт: C программалоодогу эки сапты салыштырыңыз 6-кадам 4.webp | борбору]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "кызгылт сары"; int ret; ret = strncmp (str1, str2, 11); / * Эки сапты 11 белгиге чейин салыштырат * /}
- Колдонуу.Эгерде ... Башкасалыштыруу жүргүзүү. Эми функцияны жараттык, колдон Эгерде ... Башка кайсы сап узун экендигин аныктоо үчүн. strncmp () берет 0 натыйжада, эгер кылдар бирдей узун болсо, анда str1 узун болсо оң сан, ал эми str2 узун болсо терс сан.
#include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "кызгылт сары"; int ret; ret = strncmp (str1, str2, 11); if (ret> 0) {printf ("str1 узунураак"); } else if (ret 0) {printf ("str2 көбүрөөк"); } else {printf ("Эки сап бирдей"); } return (0); }
Эскертүүлөр
- Эгер саптар бирдей болсо, кайтарым мааниси 0 экендигин унутпаңыз. Бул түшүнүксүз болушу мүмкүн, анткени 0 дагы ЖАЛГАН мааниге ээ.