Upoređivanje dužina niza uobičajena je funkcija u C programiranju, jer vam može reći koji niz ima više znakova. Ova funkcija je vrlo korisna pri sortiranju podataka. Za usporedbu nizova potrebna je posebna funkcija; ne koristite! = ili ==.
Korak
Korak 1. Postoje 2 vrste funkcija koje možete koristiti za usporedbu nizova u C jeziku
Obje ove funkcije su uključene u biblioteku.
- strcmp (): Ova funkcija uspoređuje dva niza i vraća rezultat usporedbe broja znakova između njih.
- strncmp (): Ova funkcija je ista kao strcmp (), osim što upoređuje prvih n} znakova u nizu. Ova se funkcija smatra sigurnijom jer sprječava zaustavljanje programa zbog preopterećenja.
Korak 2. Pokrenite program sa bibliotekama koje su vam potrebne
Preporučujemo da pokrenete i zajedno sa svim drugim bibliotekama koje su vam potrebne za određeni program.
#include #include
Korak 3. Pokrenite funkciju
int. Ovo je najlakši način za učenje ove funkcije jer vraća cijelu vrijednost usporedbe broja znakova u dva niza.
#include #include int main () {}
Korak 4. Definišite dva niza koja želite da uporedite
Na primjer, usporedit ćemo 2 niza podataka tipa char koji su prethodno definirani. Također možete definirati vrijednost koju ova funkcija vraća kako bi tip podataka bio cijeli.
#include #include int main () {char *str1 = "jabuka"; char *str2 = "narančasta"; int ret; }
Korak 5. Dodajte funkciju upoređivanja
Nakon što definirate ta dva niza, možete dodati funkciju usporedbe. Koristit ćemo strncmp (), pa ćemo se morati pobrinuti da broj znakova za mjerenje bude postavljen u funkciji.
#include #include int main () {char *str1 = "jabuka"; char *str2 = "narančasta"; int ret; ret = strncmp (str1, str2, 6); / *Ova funkcija će uporediti oba '' niza '' od 6 znakova */}
Korak 6. Koristite naredbe
Ako … U suprotnom radi poređenje. Nakon što dodate funkciju u program, možete koristiti izjavu za prikaz koji niz ima više znakova. strncmp () će vratiti 0 ako nizovi imaju isti broj znakova, pozitivan broj ako je str1 duži i negativan broj ako je str2 duži.
#include #include int main () {char *str1 = "jabuka"; char *str2 = "narančasta"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1 je duži"); } else if (ret <0) {printf ("str2 je duži"); } else {printf ("Oba niza su iste dužine"); } return (0); }