Usporedba duljina nizova uobičajena je funkcija u C programiranju jer vam može reći koji niz ima više znakova. Ova je funkcija vrlo korisna pri sortiranju podataka. Usporedba nizova zahtijeva posebnu funkciju; nemojte koristiti! = ili ==.
Korak
Korak 1. Postoje 2 vrste funkcija koje možete koristiti za usporedbu nizova u C jeziku
Obje ove funkcije uključene su u knjižnicu.
- strcmp (): Ova funkcija uspoređuje dva niza i vraća rezultat usporedbe broja znakova između njih.
- strncmp (): Ova je funkcija ista kao strcmp (), osim što uspoređuje prvih n} znakova u nizu. Ova se funkcija smatra sigurnijom jer sprječava zaustavljanje programa zbog preopterećenja.
Korak 2. Pokrenite program s potrebnim knjižnicama
Preporučujemo da pokrenete i, zajedno sa svim ostalim knjižnicama koje su vam potrebne za određeni program.
#include #include
Korak 3. Pokrenite funkciju
int. Ovo je najjednostavniji način učenja ove funkcije jer vraća cijelu vrijednost usporedbe broja znakova u dva niza.
#include #include int main () {}
Korak 4. Definirajte dva niza koja želite usporediti
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 broj.
#include #include int main () {char *str1 = "jabuka"; char *str2 = "narančasta"; int ret; }
Korak 5. Dodajte funkciju usporedbe
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 će funkcija usporediti oba '' niza '' od 6 znakova */}
Korak 6. Koristite naredbe
Ako … Inače napraviti usporedbu. Nakon što dodate funkciju u program, pomoću naredbe možete prikazati 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 dulji.
#include #include int main () {char *str1 = "jabuka"; char *str2 = "narančasta"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1 je dulji"); } else if (ret <0) {printf ("str2 je duži"); } else {printf ("Oba niza su iste duljine"); } return (0); }