Porównaj dwa ciągi znaków w języku programowania C.

Autor: Judy Howell
Data Utworzenia: 27 Lipiec 2021
Data Aktualizacji: 10 Móc 2024
Anonim
XXXVI sesja Rady Miejskiej w Środzie Śląskiej (30-12-2020)
Wideo: XXXVI sesja Rady Miejskiej w Środzie Śląskiej (30-12-2020)

Zawartość

Porównanie długości ciągów jest często używaną funkcją w języku programowania C, ponieważ pozwala dowiedzieć się, który ciąg zawiera więcej znaków. Jest to bardzo przydatne do sortowania danych. Porównanie ciągów wymaga specjalnej funkcji; więc nie używaj: != lub ==.

Do kroku

  1. Istnieją dwie funkcje, które umożliwiają porównywanie ciągów znaków w C. Oba są zawarte w string.h>biblioteka kodów.
    • strcmp () - Ta funkcja porównuje dwa ciągi i zwraca różnicę w liczbie znaków.
    • strncmp () - Dotyczy to również strcmp (), z wyjątkiem tego, że ten jest pierwszy n porównuje znaki. Uważa się, że jest bezpieczniejszy, ponieważ pomaga zapobiegać awariom spowodowanym przepełnieniem.
  2. Uruchom program z niezbędnymi bibliotekami. Masz obie biblioteki stdio.h> i string.h> potrzebne, wraz z innymi bibliotekami, których możesz potrzebować w swoim programie.

    #include stdio.h> [[Obraz: Porównanie dwóch ciągów w C, krok 1 programowania, wersja 4.webp | center]] #include string.h>

  3. Zacznij jeden.intfunkcjonować. Jest to najłatwiejszy sposób nauczenia się tej funkcji, ponieważ zwraca ona liczbę całkowitą porównującą długość dwóch ciągów.

    [[Obraz: Porównanie dwóch ciągów w C, krok 2 programowania, wersja 4.webp | center]] #include stdio.h> [[Obraz: Porównanie dwóch ciągów w kroku 3 programowania w języku C, wersja 3.webp | center]] #include string. h> int main () {}

  4. Zdecyduj, które dwa ciągi chcesz porównać. W tym przykładzie porównujemy dwa dane zwęglać smyczki. Należy również określić zwracaną wartość jako liczbę całkowitą.

    [[Image: Porównanie dwóch ciągów w C, krok 4, wersja 4.webp | center]] #include stdio.h> [[Obraz: Porównanie dwóch ciągów w C, krok 5, wersja 4.webp | center]] #include string. h> int main () {char * str1 = "jabłko"; char * str2 = "pomarańczowy"; int ret;}

  5. Dodaj funkcję porównania. Po zdefiniowaniu dwóch ciągów możesz dodać funkcję porównującą. Idziemy strncmp () dlatego musimy się upewnić, że liczba mierzonych znaków jest ustawiona w funkcji.

    [[Obraz: Porównanie dwóch łańcuchów w kroku 6 programowania w języku C, wersja 4.webp | center]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "pomarańczowy"; int ret; ret = strncmp (słowo1, słowo2, 11); / * Porównuje dwa ciągi o długości do 11 znaków ​​* /}

  6. Posługiwać się.Jeśli inaczejwykonać porównanie. Teraz, gdy utworzyliśmy funkcję, użyj Jeśli inaczej aby określić, który ciąg jest dłuższy. strncmp () daje 0 w rezultacie, jeśli łańcuchy mają tę samą długość, liczbę dodatnią, jeśli słowo1 jest dłuższe, a liczbę ujemną, jeśli słowo2 jest dłuższe.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "pomarańczowy"; int ret; ret = strncmp (słowo1, słowo2, 11); if (ret> 0) {printf ("str1 jest dłuższe"); } else if (ret 0) {printf ("str2 jest dłuższe"); } else {printf ("Te dwa łańcuchy są takie same"); } powrót (0); }

Ostrzeżenia

  • Pamiętaj, że wartość zwracana to 0, jeśli ciągi są równe. Może to być mylące, ponieważ 0 jest również wartością FAŁSZ.