Programlama dilinde iki dizeyi karşılaştırın C.

Yazar: Judy Howell
Yaratılış Tarihi: 27 Temmuz 2021
Güncelleme Tarihi: 10 Mayıs Ayı 2024
Anonim
C Programlama 2, Yazım Kuralları ve İşlemler
Video: C Programlama 2, Yazım Kuralları ve İşlemler

İçerik

Dize uzunluğu karşılaştırması, C programlama dilinde yaygın olarak kullanılan bir işlevdir, çünkü hangi dizenin daha fazla karakter içerdiğini bulmanızı sağlar. Bu, verileri sıralamak için çok kullanışlıdır. Dize karşılaştırması özel bir işlev gerektirir; bu yüzden kullanmayın: != veya ==.

Adım atmak

  1. C'deki dizeleri karşılaştırmanıza izin veren iki işlev vardır. Her ikisi de string.h>kod kitaplığı.
    • strcmp () - Bu işlev, iki dizeyi karşılaştırır ve karakter sayısındaki farkı döndürür.
    • strncmp () - Bu aynı zamanda strcmp ()bunun ilk olması dışında n karakterleri karşılaştırır. Taşma çökmelerini önlemeye yardımcı olduğu için daha güvenli kabul edilir.
  2. Programı gerekli kütüphanelerle çalıştırın. Her iki kütüphaneniz de var stdio.h> ve string.h> programınız için ihtiyaç duyabileceğiniz diğer kitaplıklarla birlikte gerekli.

    #include stdio.h> [[Resim: C Programlama Adım 1 Sürüm 4.webp'deki İki Dizeyi Karşılaştırın | center]] #include string.h>

  3. Başla.intişlevi. İki dizenin uzunluğunu karşılaştıran bir tamsayı döndürdüğü için bu işlevi öğrenmenin en kolay yolu budur.

    [[Resim: C Programlamadaki İki Dizeyi Karşılaştırın Adım 2 Sürüm 4.webp | center]] #include stdio.h> [[Image: C Programlamadaki İki Dizeyi Karşılaştırın Adım 3 Sürüm 3.webp | center]] #include string. h> int main () {}

  4. Karşılaştırmak istediğiniz iki dizeye karar verin. Bu örnekte iki veriyi karşılaştırıyoruz kömür Teller. Ayrıca dönüş değerini bir tamsayı olarak belirlemelisiniz.

    [[Resim: C Programlamadaki İki Dizeyi Karşılaştırın Adım 4 Sürüm 4.webp | center]] #include stdio.h> [[Resim: C Programlamadaki İki Dizeyi Karşılaştırın Adım 5 Sürüm 4.webp | center]] #include string. h> int main () {char * str1 = "elma"; char * str2 = "turuncu"; int ret;}

  5. Karşılaştırma işlevini ekleyin. Artık iki dizeyi tanımladığınıza göre, karşılaştırma işlevini ekleyebilirsiniz. Biz gideriz strncmp () bu nedenle, ölçülecek karakter sayısının işlev içinde ayarlandığından emin olmamız gerekir.

    [[Resim: C Programlama Adım 6 Sürüm 4.webp'de İki Dizeyi Karşılaştırın | center]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "turuncu"; int ret; ret = strncmp (str1, str2, 11); / * 11 karakter uzunluğa kadar iki dizeyi karşılaştırır * /}

  6. Kullanın.If ... Elsekarşılaştırmayı yapmak için. Artık işlevi oluşturduğumuza göre, If ... Else hangi dizenin daha uzun olduğunu belirlemek için. strncmp () verir 0 sonuç olarak, dizeler aynı uzunluktaysa, str1 daha uzunsa pozitif bir sayı ve str2 daha uzunsa negatif bir sayı.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "turuncu"; int ret; ret = strncmp (str1, str2, 11); eğer (ret> 0) {printf ("str1 daha uzun"); } else if (ret 0) {printf ("str2 daha uzun"); } else {printf ("İki dizge aynıdır"); } dönüş (0); }

Uyarılar

  • Dizeler eşitse dönüş değerinin 0 olduğunu unutmayın. Bu kafa karıştırıcı olabilir çünkü 0 aynı zamanda YANLIŞ'ın değeridir.