Како да се споредат два реда во програмскиот јазик c
Во софтверските кодови напишани во C, доста често ги споредуваат должината на низата за да дознаете која линија содржи повеќе знаци. Ова е корисно за сортирање на податоци. За споредба на стрингови, потребна е посебна функција - не користете != или ==.
Чекори
Еден. Програмскиот јазик со вклучително и две функции со кои можете да ги споредите должините на низата. Двете од овие функции се вклучени во библиотеката .
- Strcmp () - Оваа функција ги споредува две линии и ја враќа разликата во бројот на знаци.
- Strncmp () - Оваа функција е слична на функцијата Strcmp () Освен што прво се споредува Н Симболи. Се смета за посигурно, бидејќи ги избегнува неуспесите поради прелевање.
2. Започнете ја програмата од потребните библиотеки. Ќе ви требаат библиотеки и , како и сите други библиотеки потребни за вашата специфична програма.
#INClude[[Image: Споредете две жици во C програмирање Чекор 1 верзија 4.JPG | Центар]] # Вклучете
3. Внесете ја функцијата int. Се враќа цел број како резултат на споредување на должината на две линии.
[Image: Споредете две жици во C програмирање Чекор 2 верзија 4.JPG | Центар]] # Вклучете[[Image: Споредете две жици во C-програмирање Чекор 3 Верзија 3.JPG | Центар]] # Вклучете int Главна () {}
Четири. Определете ги двете линии што сакате да ги споредите. Во нашиот пример, ние ги споредуваме два реда со типот Знак. Исто така, дефинирајте ја вредноста на поврат како цел број.
[[Image: Споредете две жици во C програмирање Чекор 4 верзија 4.JPG | Центар]] # Вклучете[[Image: Споредете две стрингови во C програмирање Чекор 5 Верзија 4.JPG | Центар]] # Вклучете int Главна () {char * str1 = "јаболко"-Char * str2 = "Портокал"-Int ret-}
Пет. Внесете ја функцијата за споредба. Во нашиот пример, ја користиме функцијата Strncmp (). Треба да го поставите бројот на измерени знаци.
[[Image: Споредете две жици во C-програмирање Чекор 6 Верзија 4.JPG | Центар]] # Вклучете#INClude int Главна () {char * str1 = "јаболко"-Char * str2 = "Портокал"-Int ret-ret = strncmp (str1, str2, 8) - / * Споредба на две линии, чија должина не надминува 8 знаци * /}
6. Внесете условен оператор Ако ... Друго. Неопходно е да се покаже што е низа. Функција Strncmp () Врати го бројот 0, Ако жиците се исти, позитивен број, ако str1 е подолг, и негативен број ако str2 е подолг.
#INClude#INClude int Главна () {char * str1 = "јаболко"-Char * str2 = "Портокал"-Int Ret-ret = strncmp (str1, str2, 8) -if (ret > 0) {printf ("Str1 е подолг") -} друго ако (ret < 0) {printf ("Str2 подолго") -} друго {printf ("Должините се еднакви") -} Врати (0) -}
Предупредувања
- Запомнете дека ако должината на низата се еднакви, вредноста на 0 ќе се врати. Тоа може да ве збуни затоа што 0 е исто така вредноста на FALSE (FALSE).