Vergleichen Sie zwei Zeichenfolgen in der Programmiersprache C.

Autor: Judy Howell
Erstelldatum: 27 Juli 2021
Aktualisierungsdatum: 10 Kann 2024
Anonim
C - Zeichenketten (Strings)
Video: C - Zeichenketten (Strings)

Inhalt

Der Vergleich der Zeichenfolgenlänge ist eine häufig verwendete Funktion in der Programmiersprache C, da Sie damit herausfinden können, welche Zeichenfolge mehr Zeichen enthält. Dies ist sehr nützlich zum Sortieren von Daten. Der Zeichenfolgenvergleich erfordert eine spezielle Funktion. Verwenden Sie also nicht: != oder ==.

Schreiten

  1. Es gibt zwei Funktionen, mit denen Sie Zeichenfolgen in C vergleichen können. Beide sind in der enthalten string.h>Codebibliothek.
    • strcmp () - Diese Funktion vergleicht zwei Zeichenfolgen und gibt die Differenz in der Anzahl der Zeichen zurück.
    • strncmp () - Das gilt auch für strcmp (), außer dass dies der erste ist n vergleicht Zeichen. Es gilt als sicherer, da es Überlaufabstürze verhindert.
  2. Führen Sie das Programm mit den erforderlichen Bibliotheken aus. Sie haben beide Bibliotheken stdio.h> und string.h> benötigt, zusammen mit anderen Bibliotheken, die Sie möglicherweise für Ihr Programm benötigen.

    #include stdio.h> [[Bild: Vergleichen von zwei Zeichenfolgen in der C-Programmierung Schritt 1 Version 4.webp | center]] #include string.h>

  3. Starten Sie eine.intFunktion. Dies ist der einfachste Weg, diese Funktion zu erlernen, da sie eine Ganzzahl zurückgibt, die die Länge der beiden Zeichenfolgen vergleicht.

    [[Bild: Vergleichen von zwei Zeichenfolgen in der C-Programmierung Schritt 2 Version 4.webp | center]] #include stdio.h> [[Bild: Vergleichen von zwei Zeichenfolgen in der C-Programmierung Schritt 3 Version 3.webp | center]] #include string. h> int main () {}

  4. Entscheiden Sie, welche zwei Zeichenfolgen Sie vergleichen möchten. In diesem Beispiel vergleichen wir zwei Daten verkohlen Saiten. Sie müssen den Rückgabewert auch als Ganzzahl bestimmen.

    [[Bild: Vergleichen von zwei Zeichenfolgen in der C-Programmierung Schritt 4 Version 4.webp | center]] #include stdio.h> [[Bild: Vergleichen von zwei Zeichenfolgen in der C-Programmierung Schritt 5 Version 4.webp | center]] #include string. h> int main () {char * str1 = "apple"; char * str2 = "orange"; int ret;}

  5. Fügen Sie die Vergleichsfunktion hinzu. Nachdem Sie zwei Zeichenfolgen definiert haben, können Sie die Vergleichsfunktion hinzufügen. Wir gehen strncmp () Daher müssen wir sicherstellen, dass die Anzahl der zu messenden Zeichen innerhalb der Funktion festgelegt ist.

    [[Bild: Vergleichen Sie zwei Zeichenfolgen in der C-Programmierung Schritt 6 Version 4.webp | center]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "orange"; int ret; ret = strncmp (str1, str2, 11); / * Vergleicht die beiden Zeichenfolgen mit einer Länge von bis zu 11 Zeichen * /}

  6. Benutzen.Ansonstenum den Vergleich durchzuführen. Nachdem wir die Funktion erstellt haben, verwenden Sie Ansonsten um festzustellen, welche Zeichenfolge länger ist. strncmp () gibt 0 Wenn die Zeichenfolgen gleich lang sind, eine positive Zahl, wenn str1 länger ist, und eine negative Zahl, wenn str2 länger ist.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "orange"; int ret; ret = strncmp (str1, str2, 11); if (ret> 0) {printf ("str1 ist länger"); } else if (ret 0) {printf ("str2 ist länger"); } else {printf ("Die beiden Zeichenfolgen sind gleich"); } return (0); }}

Warnungen

  • Denken Sie daran, dass der Rückgabewert 0 ist, wenn die Zeichenfolgen gleich sind. Dies kann verwirrend sein, da 0 auch der Wert von FALSE ist.