Kako uporediti dva reda u programiranju jezika c
U softverskim kodovima napisanim u C, sasvim često upoređuju dužine niza da bi se saznali koja linija sadrži više znakova. Ovo je korisno za sortiranje podataka. Da biste usporedili žice, potrebna je posebna funkcija - ne koristite != ili ==.
Korake
jedan. Programski jezik sa uključenim dve funkcije sa kojima možete usporediti dužinu niza. Obje ove funkcije su uključene u biblioteku .
- STRCMP () - Ova značajka uspoređuje dvije linije i vraća razliku u broju znakova.
- Strncmp () - Ova je funkcija slična funkciji STRCMP () Osim što se prvo upoređuje N Simboli. Smatra se sigurnijim, jer izbjegava neuspjehe zbog preliva.
2. Pokrenite program iz potrebnih biblioteka. Trebat će vam biblioteke i , kao i bilo koje druge biblioteke potrebne za vaš određeni program.
#Include[[Slika: Uporedite dvije žice u C Programiranje Korak 1 Verzija 4.JPG | Centar]] # Uključi
3. Unesite značajku Int. Vraća cijeli broj kao rezultat uspoređivanja dužine dvije linije.
[Slika: Uporedite dvije žice u C programiranju Korak 2 Verzija 4.JPG | Centar]] # Uključi[[Slika: Uporedite dvije žice u C Programiranje Korak 3 Verzija 3.JPG | Centar]] # Uključi Int Glavna () {}
4. Odredite dvije retke koje želite usporediti. U našem primjeru uspoređujemo dva reda sa tipom Char. Takođe definirajte povratnu vrijednost kao cijeli broj.
[[Slika: Uporedite dvije žice u C Programiranje Korak 4 Verzija 4.JPG | Centar]] # Uključi[[Slika: Uporedite dvije žice u C Programiranje Korak 5 Verzija 4.JPG | Centar]] # Uključi Int glavni () {char * str1 = "Jabuka"-Char * str2 = "Narandžasti"-Int ret-}
pet. Unesite funkciju usporedbe. U našem primjeru koristimo funkciju Strncmp (). Treba postaviti broj izmjerenih znakova.
[[Slika: Uporedite dvije žice u C Programiranje Korak 6 Verzija 4.JPG | Centar]] # Uključi#Include Int glavni () {char * str1 = "Jabuka"-Char * str2 = "Narandžasti"-Int ret-ret = strncmp (str1, str2, 8) - / * uporedite dvije linije, čija dužina ne prelazi 8 znakova * /}
6. Unesite uvjetni operator Ako ... Drugo. Potrebno je pokazati kakav je niz duži. Funkcija Strncmp () Vratite broj 0, Ako su žice isti, pozitivan broj, ako je str1 duži, a negativan broj ako je str2 duže.
#Include#Include Int glavni () {char * str1 = "Jabuka"-Char * str2 = "Narandžasti"-Int ret-ret = strncmp (str1, str2, 8) -Ako (ret> 0) {printf ("Str1 je duži") -} drugo ako (ret < 0){printf("str2 длиннее")-}else{printf("Длины строк равны")-}return(0)-}
Upozorenja
- Zapamtite da ako su duljine niza jednaki, vrijednost 0 će se vratiti. Može vas zbuniti jer je 0 i vrijednost lažne (lažne).