Jak porovnat dva řetězce v programování v C: 10 kroků

Obsah:

Jak porovnat dva řetězce v programování v C: 10 kroků
Jak porovnat dva řetězce v programování v C: 10 kroků

Video: Jak porovnat dva řetězce v programování v C: 10 kroků

Video: Jak porovnat dva řetězce v programování v C: 10 kroků
Video: How to install Linux on Chrome OS 2024, Smět
Anonim

Porovnání délky řetězce je běžnou funkcí v programování v jazyce C, protože vám umožňuje zjistit, který řetězec obsahuje více znaků. To je velmi užitečné pro třídění dat. Porovnání řetězců vyžaduje speciální funkci; nepoužívejte! = nebo ==.

Kroky

Porovnejte dva řetězce v programování C, krok 1
Porovnejte dva řetězce v programování C, krok 1

Krok 1. Existují dvě funkce, které vám umožňují porovnat řetězce v C

Obě tyto funkce jsou součástí knihovny.

  • strcmp () - Tato funkce porovnává dva řetězce a vrací srovnávací rozdíl v počtu znaků.
  • strncmp () - Toto je stejné jako strcmp (), kromě toho, že porovnává prvních n znaků. Je považován za bezpečnější, protože pomáhá předcházet přetečení.
Porovnejte dva řetězce v programování C, krok 2
Porovnejte dva řetězce v programování C, krok 2

Krok 2. Spusťte program s potřebnými knihovnami

Budete chtít knihovny i a další, které pro svůj konkrétní program budete potřebovat.

#include #include

Porovnejte dva řetězce v programování C, krok 3
Porovnejte dva řetězce v programování C, krok 3

Krok 3. Spusťte

int funkce.

Toto je nejjednodušší způsob, jak se tuto funkci naučit, protože vrátí celé číslo, které porovnává délku dvou řetězců.

#include #include int main () {}

Porovnejte dva řetězce v programování C, krok 4
Porovnejte dva řetězce v programování C, krok 4

Krok 4. Definujte dva řetězce, které chcete porovnat

V tomto příkladu budeme porovnávat dva předdefinované řetězce znaků. Také budete chtít definovat návratovou hodnotu jako celé číslo.

#include #include int main () {char *str1 = "apple"; char *str2 = "oranžová"; int ret; }

Porovnejte dva řetězce v programování C, krok 5
Porovnejte dva řetězce v programování C, krok 5

Krok 5. Přidejte funkci porovnání

Nyní, když máte definovány dva řetězce, můžete přidat funkci porovnání. Budeme používat strncmp (), takže musíme zajistit, aby byl ve funkci nastaven počet měřených znaků.

#include #include int main () {char *str1 = "apple"; char *str2 = "oranžová"; int ret; ret = strncmp (str1, str2, 6); / *Tím se porovnají dva řetězce dlouhé až 6 znaků */}

Porovnejte dva řetězce v programování C, krok 6
Porovnejte dva řetězce v programování C, krok 6

Krok 6. Použijte

Pokud … Jinak příkaz k provedení srovnání.

Nyní, když máte funkci zavedenou, můžete pomocí příkazu If… Else zobrazit, který řetězec je delší. strncmp () vrátí 0, pokud mají řetězce stejnou délku, kladné číslo, pokud je str1 větší, a záporné číslo, pokud je str2 větší.

#include #include int main () {char *str1 = "apple"; char *str2 = "oranžová"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1 is longer"); } else if (ret <0) {printf ("str2 je delší"); } else {printf ("Dva řetězce jsou si rovny"); } return (0); }

Doporučuje: