Ako porovnať dva riadky v programovacom jazyku c
V softvérových kódoch napísaných v C, často často porovnávajú dĺžky reťazcov, aby ste zistili, ktorý linka obsahuje viac znakov. To je užitočné pre triedenie údajov. Na porovnanie reťazcov sa vyžaduje špeciálna funkcia - nepoužívajte != alebo ==.
Kroky
jeden. Programovací jazyk s obsahom dvoch funkcií, s ktorými môžete porovnať dĺžky reťazcov. Obe tieto funkcie sú zahrnuté v knižnici .
- STRCMP () - Táto funkcia porovnáva dva riadky a vráti rozdiel v počte znakov.
- StrnCMP () - Táto funkcia je podobná funkcii STRCMP () okrem toho, že prvý sa porovnáva N Symboly. Je považovaný za bezpečnejší, pretože sa vyhýba poruchám kvôli prečerveniu.
2. Spustite program z požadovaných knižníc. Budete potrebovať knižnice a , ako aj akékoľvek iné knižnice potrebné pre váš špecifický program.
#Include[[Obrázok: Porovnať dva reťazce v C Krok 1 verzia 4.jpg | centrum] # zahŕňa
3. Zadajte funkciu int. Vracia celé číslo ako výsledok porovnávania dĺžky dvoch riadkov.
[Obrázok: Porovnať dva reťazce v C Krok 2 verzia 4.jpg | centrum] # zahŕňa[[Obrázok: Porovnať dva reťazce v C Krok 3 verzia 3.jpg | centrum] # zahŕňa int Hlavná () {}
4. Určite dva riadky, ktoré chcete porovnať. V našom príklade porovnávame dva riadky s typom Char. Tiež definovať návratovú hodnotu ako celé číslo.
[[Obrázok: Porovnať dva reťazce v C Krok 4 verzia 4.jpg | centrum] # zahŕňa[[Obrázok: Porovnať dva reťazce v C Krok 5 Verzia 4.jpg | centrum] # zahŕňa int hlavné () {char * str1 = "Jablko"-Char * str2 = "Oranžový"-Int ret-}
päť. Zadajte funkciu porovnávania. V našom príklade používame funkciu StrnCMP (). Musí nastaviť počet meraných znakov.
[[Obrázok: Porovnať dva reťazce v C Krok 6 verzia 4.jpg | centrum] # zahŕňa#Include int hlavné () {char * str1 = "Jablko"-Char * str2 = "Oranžový"-Int ret-RET = StrNCMP (STR1, STR2, 8) - / * Porovnajte dva riadky, ktorej dĺžka nepresahuje 8 znakov * /}
6. Zadajte podmienený operátor Ak ... Inak. Je potrebné ukázať, čo je reťazec dlhší. Funkcia StrnCMP () Vrátiť číslo 0, Ak sú reťazce rovnaké, kladné číslo, ak je STR1 dlhší, a záporné číslo, ak je STR2 dlhší.
#Include#Include int hlavné () {char * str1 = "Jablko"-Char * str2 = "Oranžový"-Int ret-ret = StrnCMP (STR1, STR2, 8) -AK (RET> 0) {Printf ("Str1 je dlhší") -} inak, ak (ret < 0){printf("str2 длиннее")-}else{printf("Длины строк равны")-}return(0)-}
Upozornenia
- Pamätajte, že ak sú dĺžka reťazca rovnaké, hodnota 0 sa vráti. Môže vás zmiasť, pretože 0 je tiež hodnota false (false).