Karaktersammenligning i C -programmering

Karaktersammenligning i C -programmering

Karaktersammenligning i C -programmeringsspråk er en grunnleggende del av ethvert program. Som med ethvert programmeringsspråk, er det forskjeller mellom hvordan C -håndtak karaktersammenligning på overflaten og hvordan det gjør det underlig sin programlogikk. Dette er de nøyaktige metodene nettsteder bruker for å bekrefte passordene dine for konsistens når du blir med, plagieringsdeteksjonsprogramvarearbeid og så videre.

For å sjekke om to strenger er like, kan vi enten sammenligne dem karakter etter karakter eller bruke en innebygd funksjon. La oss diskutere begge metodene for sammenligning av karakter.

Metode 1: Bruke sammenligningsoperatører

Når det gjelder karaktersammenligning I C er den vanligste operasjonen å sammenligne to strenger med samme lengde, ofte referert til som “Leksikografisk” sammenligne. Denne metoden ser på tegnene i strengene individuelt og begynner å sammenligne den første bokstaven i hver streng. Derfra blir de andre karakterene sammenlignet (hvis de er de samme, blir de tredje karakterene sammenlignet, og så videre). Hvis posisjonen til noen av to tegn ikke er den samme, stopper sammenligningen, med karakteren i lavere stilling (i.e. karakteren med en lavere ASCII -kode) ansett for å være den "mindre" karakteren. La oss følge denne metoden med eksemplet vist nedenfor:

#inkludere
tomrom sammenligne (char x, char y)

if (x == y)
printf ("Begge tegnene er like \ n %c og %c \ n", x, y);
ellers
printf (" %c og %c er ikke like \ n", x, y);

int main ()

char a = 'h';
char b = 'h';
char c = 'h';
Sammenlign (a, c);
Sammenlign (b, a);
Sammenlign (C, B);
retur 0;

Ovennevnte kode bruker den brukerdefinerte metoden sammenligne() å sammenligne to tegn for å se om de er like. Ved å lese to-tegnverdier fra brukeren og sammenligne dem, vil dette programmet sende ut “Karakterer er like” Hvis karakterene er like og “Karakterer er ikke like” ellers.

Produksjon

Metode 2: Bruke innebygde funksjoner

Går utover denne grunnleggende sammenligningen, inneholder C også mange tilleggsverktøy for å håndtere karaktersammenligning. For eksempel fungerer biblioteket strcmp () og strncmp () gi større kontroll over sammenligning, mens logiske operatører som ||, &&, og ! Legg til ytterligere muligheter. Disse avanserte metodene og verktøyene kan være ekstremt nyttige for å sikre at sammenligningslogikken er mer fleksibel og omfattende i C -programmer.

i: strcmp () funksjon

De strcmp () Funksjon inkludert i strengoverskriftsfilen til C -biblioteket brukes også til å sammenligne tegnene. To strenger er karakter-for-karakter sammenlignet med strcmp () metode. Det første tegnet fra hver streng i hver blir sammenlignet først, deretter de neste tegnene.

#inkludere
#inkludere
int main ()

Char S1 [10];
Char S2 [10];
int verdi;
printf ("Skriv inn en streng:");
Scanf ("%S", S1);
printf ("Skriv inn den andre strengen:");
SCANF ("%S", S2);
verdi = strcmp (S1, S2);
if (verdi == 0)
printf ("begge strengene er samme");
ellers
printf ("strenger er ikke samme");
retur 0;

Karakterene S1 og S2 er spesifisert i denne koden. Brukerne blir deretter bedt om å legge inn tegnene. Etter at tegnene har fått inn, er strcmp () Funksjon sammenligner dem, og utgangen produseres basert på resultatet.

Produksjon

II: strncmp () funksjon

De strncmp () Funksjon er en strengfunksjon som brukes til å sammenligne to strenger i C. Det avgjør også om de to strengene er like. Den tredje parameteren brukes av strncmp () funksjon for å begrense sammenligningen. Det innebærer at du kan sammenligne de fire første karakterene, eller de første fem tegnene, etc. I stedet for hele strengen.

Sammenligningen mellom strengene gjøres basert på Ascii verdiene til karakterene.

Denne metoden returnerer følgende verdier:

  • Returverdi mindre enn 0 betegner det STR1 er mindre enn str2.
  • Returverdi> 0 betegner det str2 er mindre enn STR1 hvis det er.
  • Hvis returverdien er 0, betyr det det STR1 og str2 er likeverdige.
#inkludere
#inkludere
int main ()
char str1 [10];
char str2 [10];
int resultat;
strcpy (str1, "vjjdvfvd");
strcpy (str2, "scjhscjs");
resultat = strncmp (str1, str2, 6);
if (resultat 0)
printf ("Str2 er mindre enn STR1");
annet
printf ("STR1 er lik Str2");

return (0);

Denne koden erklærer tegnene S1 og S2. Etter det blir brukerne bedt om å skrive ut karakterene. Etter innspillene fra tegnene, sammenligner StrnCMP () -funksjonen dem ved å bruke antall tegn som er valgt for sammenligning, og utgangen genereres basert på utfallet.

Produksjon

Konklusjon

De karaktersammenligning I C -programmeringsspråk er en intrikat, mangefasettert prosess, med forskjellige metoder og verktøy som kreves, avhengig av hvilken type sammenligning som gjøres. Å forstå nøyaktig hvordan hver del av prosessen fungerer, og hva de mest passende verktøyene er å bruke, er avgjørende for vellykket C -programmering. To metoder er definert i denne artikkelen til Sammenlign tegn: Sammenligningsmetode og innebygde funksjoner.