مقایسه طول رشته ها یک تابع متداول در برنامه نویسی C است ، زیرا می تواند به شما بگوید کدام رشته نویسه بیشتری دارد. این تابع در مرتب سازی داده ها بسیار مفید است. مقایسه رشته ها نیاز به عملکرد خاصی دارد. استفاده نکنید! = یا ==
گام
مرحله 1. دو نوع توابع وجود دارد که می توانید از آنها برای مقایسه رشته ها در زبان C استفاده کنید
هر دوی این عملکردها در کتابخانه گنجانده شده است.
- strcmp (): این تابع دو رشته را با هم مقایسه می کند و نتیجه مقایسه تعداد کاراکترهای بین آنها را برمی گرداند.
- strncmp (): این تابع همان strcmp () است ، با این تفاوت که اولین n} کاراکترهای رشته را مقایسه می کند. این عملکرد ایمن تر در نظر گرفته می شود زیرا از متوقف شدن برنامه به دلیل اضافه بار جلوگیری می کند.
مرحله 2. برنامه را با کتابخانه های مورد نیاز خود اجرا کنید
ما توصیه می کنیم که برنامه را اجرا کرده و همراه با هر کتابخانه دیگری که برای یک برنامه خاص نیاز دارید ، اجرا کنید.
#شامل #شامل شود
مرحله 3. یک تابع را اجرا کنید
int این ساده ترین راه برای یادگیری این تابع است ، زیرا مقدار صحیح مقایسه تعداد کاراکترها در دو رشته را برمی گرداند.
#include #include int main () {}
مرحله 4. دو رشته ای را که می خواهید مقایسه کنید ، تعریف کنید
به عنوان مثال ، ما 2 رشته از نوع داده های 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. از دستورات استفاده کنید
اگر… غیر این است که مقایسه را انجام دهید. پس از افزودن یک تابع به برنامه خود ، می توانید از یک دستور برای نشان دادن اینکه کدام رشته کاراکترهای بیشتری دارد استفاده کنید. strncmp () در صورتی که رشته ها دارای تعداد نویسه یکسان باشند ، عدد مثبت اگر 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) ؛ }