مقایسه طول رشته یک تابع رایج در برنامه نویسی C است ، زیرا به شما این امکان را می دهد که ببینید کدام رشته حاوی نویسه های بیشتری است. این برای مرتب سازی داده ها بسیار مفید است. مقایسه رشته ها نیاز به عملکرد خاصی دارد. استفاده نکنید! = یا ==
مراحل
مرحله 1. دو عملکرد وجود دارد که به شما اجازه می دهد رشته ها را در C مقایسه کنید
هر دوی این عملکردها در کتابخانه گنجانده شده است.
- strcmp () - این تابع دو رشته را مقایسه می کند و تفاوت مقایسه ای تعداد کاراکترها را برمی گرداند.
- strncmp () - این همان strcmp () است ، با این تفاوت که اولین n کاراکتر را مقایسه می کند. این دستگاه ایمن تر است زیرا از سرریز شدن تصادفات جلوگیری می کند.
مرحله 2. برنامه را با کتابخانه های ضروری خود شروع کنید
شما هم کتابخانه ها و هم کتابخانه ها را به همراه سایر مواردی که ممکن است برای برنامه خاص خود نیاز داشته باشید ، می خواهید.
#شامل #شامل شود
مرحله 3. شروع کنید
int عملکرد.
این ساده ترین راه برای یادگیری این تابع است ، زیرا یک عدد صحیح را که طول دو رشته را با هم مقایسه می کند ، باز می گرداند.
#include #include int main () {}
مرحله 4. دو رشته ای را که می خواهید مقایسه کنید ، تعریف کنید
برای این مثال ، ما دو رشته از پیش تعریف شده char را مقایسه می کنیم. همچنین می خواهید مقدار بازگشتی را به عنوان یک عدد صحیح تعریف کنید.
#include #include int main () {char *str1 = "apple"؛ char *str2 = "نارنجی" ؛ int ret؛ }
مرحله 5. تابع مقایسه را اضافه کنید
اکنون که دو رشته خود را تعریف کرده اید ، می توانید تابع مقایسه را اضافه کنید. ما از strncmp () استفاده می کنیم ، بنابراین باید اطمینان حاصل کنیم که تعداد کاراکترهای مورد اندازه گیری در تابع تنظیم شده است.
#include #include int main () {char *str1 = "apple"؛ char *str2 = "نارنجی" ؛ int ret؛ ret = strncmp (str1 ، str2 ، 6) ؛ / *این دو رشته را تا 6 کاراکتر مقایسه می کند */}
مرحله 6. از an استفاده کنید
اگر دیگری بیانیه برای انجام مقایسه
اکنون که تابع را در اختیار دارید ، می توانید از دستور If … Else برای نمایش رشته بیشتر استفاده کنید. strnsmp () اگر رشته ها یکسان باشند ، یک عدد مثبت اگر str1 بزرگتر باشد ، و یک عدد منفی اگر str2 بزرگتر باشد ، برمی گرداند.
#include #include int main () {char *str1 = "apple"؛ char *str2 = "نارنجی" ؛ int ret؛ ret = strncmp (str1 ، str2 ، 6) ؛ if (ret> 0) {printf ("str1 طولانی تر است")؛ } else if (ret <0) {printf ("str2 طولانی تر است")؛ } else {printf ("دو رشته مساوی هستند")؛ } بازگشت (0) ؛ }