قارن بين سلسلتين في لغة البرمجة C.

مؤلف: Judy Howell
تاريخ الخلق: 27 تموز 2021
تاريخ التحديث: 10 قد 2024
Anonim
لغات البرمجة و الفرق بين c و ++c و #c
فيديو: لغات البرمجة و الفرق بين c و ++c و #c

المحتوى

مقارنة طول السلسلة هي وظيفة شائعة الاستخدام في لغة البرمجة C ، لأنها تتيح لك معرفة السلسلة التي تحتوي على المزيد من الأحرف. هذا مفيد جدا لفرز البيانات. تتطلب مقارنة السلاسل وظيفة خاصة ؛ لذلك لا تستخدم: != أو ==.

لتخطو

  1. هناك وظيفتان تسمحان لك بمقارنة السلاسل في C. كلاهما مدرج في ملف السلسلة. h>مكتبة الكود.
    • strcmp () - تقارن هذه الوظيفة سلسلتين وتعيد الفرق في عدد الأحرف.
    • strncmp () - هذا ينطبق أيضا على strcmp ()، إلا أن هذا هو الأول ن يقارن الشخصيات. يعتبر أكثر أمانًا لأنه يساعد في منع حوادث تجاوز التدفق.
  2. قم بتشغيل البرنامج بالمكتبات اللازمة. لديك كلا المكتبتين stdio.h> و السلسلة. h> المطلوبة ، جنبًا إلى جنب مع المكتبات الأخرى التي قد تحتاجها لبرنامجك.

    #include stdio.h> [[صورة: قارن سلسلتين في C Programming Step 1 Version 4.webp | center]] #include string.h>

  3. ابدأ واحدة.intوظيفة. هذه هي أسهل طريقة لتعلم هذه الوظيفة لأنها تُرجع عددًا صحيحًا يقارن طول السلسلتين.

    [[صورة: قارن بين سلسلتين في C Programming Step 2 Version 4.webp | center]] #include stdio.h> [[صورة: قارن بين سلسلتين في C Programming Step 3 Version 3.webp | مركز]] #include string. h> int main () {}

  4. حدد أي سلسلتين تريد مقارنتهما. في هذا المثال نقارن بين بيانات شار سلاسل. يجب عليك أيضًا تحديد قيمة الإرجاع كعدد صحيح.

    [[صورة: قارن بين سلسلتين في C Programming Step 4 Version 4.webp | center]] #include stdio.h> [[Image: Compare Two Strings in C Programming Step 5 Version 4.webp | center]] #include string. h> int main () {char * str1 = "apple"؛ char * str2 = "برتقالي" ؛ int ret؛}

  5. أضف وظيفة المقارنة. الآن بعد أن حددت سلسلتين ، يمكنك إضافة وظيفة المقارنة. نذهب strncmp () لذلك نحن بحاجة إلى التأكد من أن عدد الأحرف المراد قياسها محدد داخل الدالة.

    [[صورة: قارن بين سلسلتين في C Programming Step 6 Version 4.webp | center]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"؛ char * str2 = "برتقالي" ؛ int متقاعد ret = strncmp (str1، str2، 11) ؛ / * مقارنة السلسلتين حتى طول 11 حرفًا * /}

  6. يستخدم.إذا كان غير ذلكلإجراء المقارنة. الآن بعد أن أنشأنا الوظيفة ، استخدم إذا كان غير ذلك لتحديد أي سلسلة أطول. strncmp () يعطي 0 نتيجة لذلك ، إذا كانت السلاسل بنفس الطول ، يكون الرقم الموجب إذا كان str1 أطول ورقمًا سالبًا إذا كان str2 أطول.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"؛ char * str2 = "برتقالي" ؛ int متقاعد ret = strncmp (str1، str2، 11) ؛ إذا (ret> 0) {printf ("str1 أطول") ؛ } else if (ret 0) {printf ("str2 أطول")؛ } else {printf ("السطران متماثلان")؛ } عودة (0)؛ }

تحذيرات

  • تذكر أن القيمة المعادة هي 0 إذا كانت السلاسل متساوية. قد يكون هذا محيرًا لأن القيمة 0 هي أيضًا قيمة FALSE.