دو رشته را در زبان برنامه نویسی C مقایسه کنید.

نویسنده: Judy Howell
تاریخ ایجاد: 27 جولای 2021
تاریخ به روزرسانی: 10 ممکن است 2024
Anonim
آموزش سی شارپ - جلسه نوزدهم: ساختار کلی متدها و نحوه ی فراخوانی آن ها (بخش دوم)
ویدیو: آموزش سی شارپ - جلسه نوزدهم: ساختار کلی متدها و نحوه ی فراخوانی آن ها (بخش دوم)

محتوا

مقایسه طول رشته یک عملکرد معمول در زبان برنامه نویسی C است ، زیرا به شما امکان می دهد دریابید که کدام رشته نویسه های بیشتری دارد. این برای مرتب سازی داده ها بسیار مفید است. مقایسه رشته به عملکرد خاصی نیاز دارد. بنابراین استفاده نکنید: != یا ==.

گام برداشتن

  1. دو عملکرد وجود دارد که به شما امکان مقایسه رشته ها در C را می دهد. هر دو در string.h>کتابخانه کد
    • strcmp () - این تابع دو رشته را با هم مقایسه می کند و تفاوت تعداد کاراکترها را برمی گرداند.
    • strncmp () - این مربوط به strcmp ()، با این تفاوت که این یکی اولین است n شخصیت ها را مقایسه می کند. از آنجا که به جلوگیری از خرابی های سرریز کمک می کند ، ایمن تر در نظر گرفته می شود.
  2. برنامه را با کتابخانه های لازم اجرا کنید. شما هر دو کتابخانه دارید stdio.h> و string.h> مورد نیاز ، همراه با کتابخانه های دیگری که ممکن است برای برنامه خود نیاز داشته باشید.

    #include stdio.h> [[تصویر: مقایسه دو رشته در برنامه نویسی C مرحله 1 نسخه 4.webp | مرکز]] #include string.h>

  3. یکی را شروع کنید.intتابع. این ساده ترین راه برای یادگیری این تابع است زیرا یک عدد صحیح را با مقایسه طول دو رشته برمی گرداند.

    [[تصویر: مقایسه دو رشته در برنامه نویسی C مرحله 2 نسخه 4.webp | مرکز]] #include stdio.h> [[[تصویر: مقایسه دو رشته در برنامه نویسی C مرحله 3 نسخه 3. jpg | مرکز]] # رشته را وارد کنید. h> int main () {}

  4. تصمیم بگیرید که کدام دو رشته را می خواهید مقایسه کنید. در این مثال ما دو داده را با هم مقایسه می کنیم کاراکتر رشته های. همچنین باید مقدار برگشتی را به عنوان یک عدد صحیح تعیین کنید.

    [[تصویر: مقایسه دو رشته در برنامه نویسی C مرحله 4 نسخه 4.webp | مرکز]] #include stdio.h> [[[تصویر: مقایسه دو رشته در برنامه نویسی C مرحله 5 نسخه 4. نسخه 4.webp | مرکز]] # رشته را وارد کنید. h> int main () {char * str1 = "سیب"؛ char * str2 = "نارنجی"؛ int ret؛}

  5. تابع مقایسه را اضافه کنید. اکنون که دو رشته را تعریف کردید ، می توانید تابع مقایسه را اضافه کنید. ما میرویم strncmp () بنابراین باید اطمینان حاصل کنیم که تعداد کاراکترهای اندازه گیری شده در این تابع تنظیم شده است.

    [[تصویر: مقایسه دو رشته در برنامه نویسی C مرحله 6 نسخه 4.webp | مرکز]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"؛ char * str2 = "نارنجی"؛ int ret؛ 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؛ ret = strncmp (str1 ، str2 ، 11) ؛ if (ret> 0) {printf ("str1 طولانی تر است")؛ } other if (ret 0) {printf ("str2 طولانی تر است")؛ } else {printf ("دو رشته یکسان هستند")؛ } بازگشت (0)؛ }

هشدارها

  • به یاد داشته باشید که اگر رشته ها برابر باشند مقدار برگشتی 0 است. این می تواند گیج کننده باشد زیرا 0 نیز مقدار FALSE است.