String уртыг харьцуулах нь C програмчлалын хувьд түгээмэл хэрэглэгддэг функц юм. Энэ функц нь өгөгдлийг ангилахад маш их хэрэгтэй байдаг. Мөрүүдийг харьцуулах нь тусгай функц шаарддаг; бүү ашигла! = эсвэл ==.
Алхам
Алхам 1. С хэл дээрх мөрүүдийг харьцуулах 2 төрлийн функц байдаг
Эдгээр хоёр функцийг номын санд оруулсан болно.
- strcmp (): Энэ функц нь хоёр мөрийг харьцуулж, тэдгээрийн хоорондох тэмдэгтүүдийн тоог харьцуулсан үр дүнг буцаана.
- strncmp (): Энэ функц нь мөр дэх эхний n} тэмдэгтийг харьцуулахаас бусад тохиолдолд strcmp () функцтэй адил юм. Энэ функц нь хэт ачааллаас болж програм зогсохоос сэргийлдэг тул илүү аюулгүй гэж үздэг.
Алхам 2. Хөтөлбөрийг хэрэгтэй номын сантай хамт ажиллуулна уу
Бид танд тодорхой програмыг ажиллуулахын тулд бусад номын сангийн хамт ажиллуулахыг зөвлөж байна.
#оруулах #оруулах
Алхам 3. Функцийг ажиллуулна уу
int. Энэ функцийг сурах хамгийн хялбар арга бол хоёр мөрт тэмдэгтүүдийн тоог харьцуулах бүхэл тоон утгыг буцаана.
#include #include int main () {}
Алхам 4. Харьцуулахыг хүссэн хоёр мөрийг тодорхойл
Жишээлбэл, бид өмнө нь тодорхойлсон char төрлийн 2 өгөгдлийг харьцуулах болно. Та мөн өгөгдлийн төрөл бүхэл тоо байхын тулд энэ функцээр буцаагдсан утгыг тодорхойлж болно.
#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 () нь мөрүүд ижил тооны тэмдэгттэй байвал 0, str1 урт байвал эерэг тоо, str2 урт байвал сөрөг тоо буцаана.
#include #include int main () {char *str1 = "apple"; char *str2 = "улбар шар"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1 илүү урт"); } if if (ret <0) {printf ("str2 урт"); } else {printf ("Хоёр мөр нь ижил урттай"); } буцах (0); }