Jak porównać dwa wiersze w języku programowania c

W kategoriach oprogramowanych napisanych w C, dość często porównaj długości łańcuchów, aby dowiedzieć się, która linia zawiera więcej znaków. Jest to przydatne do sortowania danych. Aby porównać ciągi, wymagana jest specjalna funkcja - nie używaj != lub ==.

Kroki

jeden. Język programowania z dwoma funkcjami, z którymi można porównać długości łańcuchów. Oba te funkcje są zawarte w bibliotece .
  • STRCMP () - Ta funkcja porównuje dwie linie i zwraca różnicę liczby znaków.
  • Strncmp () - Ta funkcja jest podobna do funkcji STRCMP () Z wyjątkiem tego, że pierwszy jest porównywany N Symbolika. Jest uważany za bardziej bezpieczny, ponieważ uniknąć awarii spowodowanych przepełnieniem.
  • 2. Uruchom program z wymaganych bibliotek. Potrzebujesz bibliotek i , jak również wszelkie inne biblioteki niezbędne do twojego konkretnego programu.
    #Zawierać [[Zdjęcie: Porównaj dwie struny w programie C Krok 1 Wersja 4.jpg | centrum]] 
  • 3. Wprowadź funkcję int. Zwraca liczbę całkowitą w wyniku porównywania długości dwóch linii.
    [Zdjęcie: Porównaj dwie struny w programie C Krok 2 Wersja 4.jpg | centrum]] [Obraz: Porównaj dwie struny w programie C Krok 3 Wersja 3.jpg | centrum]] int Główny () {}
  • cztery. Określ dwie linie, które chcesz porównać. W naszym przykładzie porównujemy dwa wiersze z typem Zwęglać. Również zdefiniuj wartość zwracaną jako liczbę całkowitą.
    [Obraz: Porównaj dwie struny w programie C Krok 4 Wersja 4.jpg | centrum]] [[Zdjęcie: Porównaj dwie struny w programie C Krok 5 Wersja 4.jpg | centrum]] int Main () {char * str1 = "jabłko"-Char * str2 = "Pomarańczowy"-Int ret-}
  • pięć. Wprowadź funkcję porównania. W naszym przykładzie używamy funkcji Strncmp (). Musi ustawić liczbę zmierzonych znaków.
    [[Zdjęcie: Porównaj dwie struny w programie C Krok 6 Wersja 4.jpg | centrum]] #Zawierać int Main () {char * str1 = "jabłko"-Char * str2 = "Pomarańczowy"-Int ret-ret = STRNCMP (STR1, STR2, 8) - / * Porównaj dwie linie, których długość, która nie przekracza 8 znaków * /}
  • 6. Wprowadź operatora warunkowego Gdyby ... JESZCZE. Konieczne jest pokazanie tego, co jest dłuższy. Funkcjonować Strncmp () Zwróć numer 0, Jeśli ciągi są takie same, liczba dodatnia, jeśli Str1 jest dłuższa, a liczba ujemna, jeśli Str2 jest dłuższa.
    #Zawierać #Zawierać int Main () {char * str1 = "jabłko"-Char * str2 = "Pomarańczowy"-Int ret-ret = strncmp (str1, str2, 8) -if (RET> 0) {Printf ("Str1 jest dłuższy") -} else jeśli (RET < 0){printf("str2 длиннее")-}else{printf("Длины строк равны")-}return(0)-}
  • Ostrzeżenie

    • Pamiętaj, że jeśli długości ciągu są równe, wartość 0 powróci. Może cię pomylić, ponieważ 0 jest również wartością false (false).
    Podobne publikacje