Charaktervergleich in der C -Programmierung

Charaktervergleich in der C -Programmierung

Charaktervergleich In der C -Programmiersprache ist ein grundlegender Bestandteil eines jeden Programms. Wie bei jeder Programmiersprache gibt es Unterschiede zwischen dem Umgang mit C Charaktervergleich an der Oberfläche und wie es so seine Programmlogik untergräbt. Dies ist die genaue Methode, die Websites verwenden, um Ihre Passwörter auf Konsistenz zu überprüfen, wenn Sie sich anschließen, die Arbeitsplagiat -Erkennungssoftware usw.

Um zu prüfen, ob zwei Zeichenfolgen gleich sind, können wir sie entweder mit dem Charakter vergleichen oder eine integrierte Funktion verwenden. Lassen Sie uns beide Methoden zum Charaktervergleich diskutieren.

Methode 1: Verwenden von Vergleichsoperatoren

Wenn es darum geht Charaktervergleich In C besteht die häufigste Operation darin, zwei Zeichenfolgen mit derselben Länge zu vergleichen, die oft als als bezeichnet werden "Lexikografisch" Vergleich. Diese Methode befasst sich mit den Zeichen in den Zeichenfolgen einzeln und beginnt mit dem Vergleich des ersten Buchstabens in jeder Zeichenfolge. Von dort aus werden die zweiten Charaktere verglichen (wenn sie gleich sind, werden die dritten Zeichen verglichen und so weiter). Wenn die Position eines der zwei Zeichen nicht gleich ist, stoppt der Vergleich mit dem Charakter in der unteren Position (i.e. Das Zeichen mit einem niedrigeren ASCII -Code) betrachtet als „kleinerer“ Zeichen. Befolgen wir diese Methode mit dem unten gezeigten Beispiel:

#enthalten
void Compare (char x, char y)

if (x == y)
printf ("beide Zeichen sind gleich \ n %c und %c \ n", x, y);
anders
printf (" %c und %c sind nicht gleich \ n", x, y);

int main ()

char a = 'h';
char b = 'h';
char c = 'h';
vergleiche (a, c);
vergleiche (b, a);
vergleiche (c, b);
Rückkehr 0;

Der obige Code verwendet die benutzerdefinierte Methode vergleichen() Vergleichen Sie zwei Zeichen, um zu sehen, ob sie gleich sind. Durch das Lesen von Zwei-Charakter-Werten vom Benutzer und des Vergleichs wird dieses Programm ausgegeben "Charaktere sind gleich" Wenn die Zeichen gleich sind und "Charaktere sind nicht gleich" ansonsten.

Ausgang

Methode 2: Verwenden integrierter Funktionen

Wenn C über diesen grundlegenden Vergleich hinausgeht, enthält C auch viele zusätzliche Tools für den Umgang mit Charaktervergleich. Zum Beispiel funktioniert die Bibliothek STRCMP () Und strncmp () liefern eine bessere Kontrolle über den Vergleich, während logische Operatoren wie ||, && und ! Fügen Sie weitere Funktionen hinzu. Diese erweiterten Methoden und Tools können äußerst nützlich sein, um sicherzustellen, dass die Vergleichslogik in C -Programmen flexibler und umfassender ist.

I: STRCMP () -Funktion

Der STRCMP () Die in der String Header -Datei der C -Bibliothek enthaltene Funktion wird auch zum Vergleichen der Zeichen verwendet. Zwei Saiten sind Charakter-für-Charakter-Vergleichs mit dem verglichen STRCMP () Methode. Das erste Zeichen aus jeder Zeichenfolge wird zuerst verglichen, dann die nächsten Zeichen.

#enthalten
#enthalten
int main ()

Char S1 [10];
Char S2 [10];
int Wert;
printf ("eine Zeichenfolge eingeben:");
scanf ("%s", s1);
printf ("die zweite Zeichenfolge eingeben:");
scanf ("%s", s2);
Wert = STRCMP (S1, S2);
if (value == 0)
printf ("Beide Saiten sind gleich");
anders
printf ("Strings sind nicht gleich");
Rückkehr 0;

Die Charaktere S1 Und S2 werden in diesem Code angegeben. Die Benutzer werden dann aufgefordert, die Zeichen einzugeben. Nachdem die Zeichen eingegeben wurden, die STRCMP () Die Funktion vergleicht sie und die Ausgabe wird basierend auf dem Ergebnis erzeugt.

Ausgang

II: STRNCMP () -Funktion

Der strncmp () Funktion ist eine String -Funktion, mit der zwei Zeichenfolgen in c verglichen werden. Es bestimmt auch, ob die beiden Zeichenfolgen gleich sind. Der dritte Parameter wird von der verwendet strncmp () Funktionen zur Einschränkung des Vergleichs. Dies impliziert, dass Sie die ersten vier Zeichen oder die ersten fünf Zeichen usw. vergleichen können. anstelle der gesamten Zeichenfolge.

Der Vergleich zwischen den Saiten erfolgt basierend auf ASCII Werte der Zeichen.

Diese Methode gibt die folgenden Werte zurück:

  • Rückgabewert von weniger als 0 bezeichnet das STR1 ist weniger als STR2.
  • Rückgabewert> 0 bezeichnet das STR2 ist kleiner als STR1 Wenn es so ist.
  • Wenn der Rückgabewert 0 ist, bedeutet dies das STR1 Und STR2 sind äquivalent.
#enthalten
#enthalten
int main ()
Char Str1 [10];
Char Str2 [10];
int Ergebnis;
Strcpy (str1, "vjjdvfvd");
Strcpy (str2, "scjhscjs");
Ergebnis = strncmp (str1, str2, 6);
if (Ergebnis 0)
printf ("str2 ist weniger als str1");
anders
printf ("str1 ist gleich Str2");

return (0);

Dieser Code deklariert die Zeichen S1 und S2. Danach werden die Benutzer gebeten, die Zeichen einzugeben. Nach der Eingabe der Zeichen vergleicht die Funktion von strncmp () sie mithilfe der Anzahl der zum Vergleich ausgewählten Zeichen, und die Ausgabe wird basierend auf dem Ergebnis generiert.

Ausgang

Abschluss

Der Charaktervergleich In C -Programmiersprache ist ein komplizierter, vielfältiger Prozess, bei dem unterschiedliche Methoden und Tools erforderlich sind, abhängig von der Art des Vergleichs, der durchgeführt wird. Es ist für eine erfolgreiche C -Programmierung von entscheidender Bedeutung, genau zu verstehen, wie jeder Teil des Prozesses funktioniert und welche am besten geeigneten Tools verwendet werden können. In diesem Artikel werden zwei Methoden definiert zu Vergleiche Zeichen: Vergleichsmethode und eingebaute Funktionen.