ເນື້ອຫາ
ການປຽບທຽບຄວາມຍາວຂອງສະຕິງແມ່ນ ໜ້າ ທີ່ທີ່ໃຊ້ກັນທົ່ວໄປໃນພາສາການຂຽນໂປແກຼມ C, ເພາະວ່າມັນຊ່ວຍໃຫ້ທ່ານສາມາດຊອກຫາສາຍໃດທີ່ມີຕົວອັກສອນຫຼາຍຂື້ນ. ນີ້ແມ່ນມີປະໂຫຍດຫຼາຍຕໍ່ການຈັດຮຽງຂໍ້ມູນ. ການປຽບທຽບສະຕິງຕ້ອງມີ ໜ້າ ທີ່ພິເສດ; ສະນັ້ນຢ່າໃຊ້: != ຫຼື ==.
ເພື່ອກ້າວ
- ມີສອງ ໜ້າ ທີ່ຊ່ວຍໃຫ້ທ່ານສາມາດປຽບທຽບເຊືອກໃນ C. ທັງສອງແມ່ນລວມຢູ່ໃນ string.h>ຫ້ອງສະຫມຸດລະຫັດ.
- strcmp () - ໜ້າ ທີ່ນີ້ປຽບທຽບສອງເຊືອກແລະກັບຄືນຄວາມແຕກຕ່າງຂອງ ຈຳ ນວນຕົວອັກສອນ.
- strncmp () - ນີ້ຍັງໃຊ້ກັບ strcmp (), ເວັ້ນເສຍແຕ່ວ່າຜູ້ນີ້ແມ່ນຜູ້ ທຳ ອິດ ນ ປຽບທຽບຕົວອັກສອນ. ຖືວ່າມີຄວາມປອດໄພຫລາຍຂື້ນເພາະມັນຊ່ວຍປ້ອງກັນການເກີດອຸປະຕິເຫດທີ່ລົ້ນ.
- ດໍາເນີນໂຄງການດ້ວຍຫ້ອງສະຫມຸດທີ່ຈໍາເປັນ. ທ່ານມີຫໍສະມຸດທັງສອງຫ້ອງ stdio.h> ແລະ string.h> ຈຳ ເປັນພ້ອມກັບຫໍສະມຸດອື່ນໆທີ່ທ່ານອາດຈະຕ້ອງການ ສຳ ລັບໂປແກຼມຂອງທ່ານ.
#include stdio.h> [[ຮູບພາບ: ປຽບທຽບສອງເຊືອກໃນ C Programming ຂັ້ນຕອນທີ 1 ຮຸ່ນ 4.webp | ໃຈກາງ]] #include string.h>
- ເລີ່ມຕົ້ນຫນຶ່ງ.intໜ້າ ທີ່. ນີ້ແມ່ນວິທີທີ່ງ່າຍທີ່ສຸດທີ່ຈະຮຽນຮູ້ ໜ້າ ທີ່ນີ້ຍ້ອນວ່າມັນກັບຄືນເລກເຕັມເມື່ອທຽບກັບຄວາມຍາວຂອງສອງສາຍ.
[[ຮູບພາບ: ປຽບທຽບສອງເຊືອກໃນ C Programming ຂັ້ນຕອນທີ 2 ຮຸ່ນ 4.webp | ໃຈກາງ]] #include stdio.h> [[ຮູບພາບ: ປຽບທຽບສອງເຊືອກໃນ C Programming ຂັ້ນຕອນທີ 3 ຮຸ່ນ 3.webp | ສູນ]] #include. h> int ຕົ້ນຕໍ () {}
- ຕັດສິນໃຈເລືອກສອງເສັ້ນທີ່ທ່ານຕ້ອງການປຽບທຽບ. ໃນຕົວຢ່າງນີ້ພວກເຮົາປຽບທຽບສອງຂໍ້ມູນ char ເຊືອກ. ທ່ານຍັງຕ້ອງໄດ້ ກຳ ນົດມູນຄ່າການສົ່ງຄືນເປັນເລກເຕັມ.
[[ຮູບພາບ: ປຽບທຽບສອງເຊືອກໃນ C Programming ຂັ້ນຕອນທີ 4 ຮຸ່ນ 4.webp | ໃຈກາງ]] #include stdio.h> [[ຮູບພາບ: ປຽບທຽບສອງເຊືອກໃນ C Programming ຂັ້ນຕອນທີ 5 ຮຸ່ນ 4.webp | ສູນ]] #include. h> int ຕົ້ນຕໍ () {char * str1 = "ແອບເປີ້ນ"; char * str2 = "ສີສົ້ມ"; int ret;}
- ເພີ່ມຟັງຊັນປຽບທຽບ. ຕອນນີ້ທ່ານໄດ້ ກຳ ນົດສອງເຊືອກແລ້ວ, ທ່ານສາມາດເພີ່ມຟັງຊັນປຽບທຽບໄດ້. ພວກເຮົາໄປ strncmp () ດັ່ງນັ້ນພວກເຮົາຕ້ອງຮັບປະກັນວ່າ ຈຳ ນວນຕົວອັກສອນທີ່ຈະວັດແທກແມ່ນຖືກ ກຳ ນົດພາຍໃນ ໜ້າ ທີ່.
[[ຮູບພາບ: ປຽບທຽບສອງເຊືອກໃນ C Programming ຂັ້ນຕອນທີ 6 ຮຸ່ນ 4.webp | ສູນກາງ]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "ສີສົ້ມ"; int ret; ret = strncmp (str1, str2, 11); / * ປຽບທຽບສອງເຊືອກຍາວເຖິງ 11 ຕົວອັກສອນຍາວ * /}
- ໃຊ້.ຖ້າ ... ອື່ນເພື່ອປະຕິບັດການປຽບທຽບ. ຕອນນີ້ພວກເຮົາໄດ້ສ້າງຟັງຊັນ, ໃຊ້ ຖ້າ ... ອື່ນ ເພື່ອ ກຳ ນົດວ່າສາຍໃດຍາວກວ່າ. strncmp () ໃຫ້ 0 ດ້ວຍເຫດນີ້, ຖ້າວ່າເຊືອກມີຄວາມຍາວດຽວກັນ, ຕົວເລກບວກຖ້າ str1 ຍາວກວ່າແລະຕົວເລກລົບຖ້າ str2 ຍາວກວ່າ.
#include stdio.h> #include string.h> int ຕົ້ນຕໍ () {char * str1 = "ແອບເປີ້ນ"; char * str2 = "ສີສົ້ມ"; int ret; ret = strncmp (str1, str2, 11); ຖ້າ (ret> 0) {printf ("str1 ຍາວກວ່າ"); } ອື່ນຖ້າ (ret 0) {printf ("str2 ຍາວກວ່າ"); } else {printf ("ສອງເຊືອກແມ່ນຄືກັນ"); } ກັບຄືນ (0); }
ຄຳ ເຕືອນ
- ຈົ່ງຈື່ໄວ້ວ່າຄ່າກັບຄືນແມ່ນ 0 ຖ້າວ່າເຊືອກເທົ່າກັນ. ນີ້ສາມາດສັບສົນເພາະວ່າ 0 ຍັງເປັນຄຸນຄ່າຂອງ FALSE.