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: 2 EASY ways to use DOSBOX to load old Programs & Games! (with CD-ROM support) 2024, Smět
Anonim

Porovnání délek řetězců je běžně používanou funkcí v programování v jazyce C, protože vám může říci, který řetězec má více znaků. Tato funkce je velmi užitečná při třídění dat. Porovnání řetězců vyžaduje speciální funkci; nepoužívejte! = nebo ==.

Krok

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

Krok 1. Existují 2 typy funkcí, které můžete použít k porovnání řetězců v jazyce C

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

  • strcmp (): Tato funkce porovnává dva řetězce a vrací výsledek porovnání počtu znaků mezi nimi.
  • strncmp (): Tato funkce je stejná jako strcmp (), kromě toho porovnává prvních n} znaků v řetězci. Tato funkce je považována za bezpečnější, protože brání zastavení programu v důsledku přetíž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 knihovnami, které potřebujete

Doporučujeme spustit a spolu s dalšími knihovnami, které pro konkrétní program potřebujete.

#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 funkci

int. Toto je nejjednodušší způsob, jak se tuto funkci naučit, protože vrací celočíselnou hodnotu porovnání počtu znaků ve dvou řetězcích.

#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

Například porovnáme 2 řetězce dat typu char, která byla definována dříve. Můžete také definovat hodnotu vrácenou touto funkcí, aby měla datový typ 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í

Jakmile definujete tyto dva řetězce, můžete přidat funkci porovnání. Budeme používat strncmp (), takže se musíme ujistit, že je ve funkci nastaven počet znaků k měření.

#include #include int main () {char *str1 = "apple"; char *str2 = "oranžová"; int ret; ret = strncmp (str1, str2, 6); / *Tato funkce porovná oba '' řetězce '' po 6 znacích */}

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

Krok 6. Použijte prohlášení

Pokud … Jinak provést srovnání. Po přidání funkce do programu můžete pomocí příkazu zobrazit, který řetězec má více znaků. strncmp () vrátí 0, pokud řetězce mají stejný počet znaků, kladné číslo, pokud je str1 delší, a záporné číslo, pokud je str2 delší.

#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 ("Oba řetězce jsou stejně dlouhé"); } return (0); }

Doporučuje: