ວິທີປຽບທຽບສອງສະຕິງໃນພາສາການຂຽນໂປຣແກມ C

ກະວີ: William Ramirez
ວັນທີຂອງການສ້າງ: 18 ເດືອນກັນຍາ 2021
ວັນທີປັບປຸງ: 1 ເດືອນກໍລະກົດ 2024
Anonim
ວິທີປຽບທຽບສອງສະຕິງໃນພາສາການຂຽນໂປຣແກມ C - ສະມາຄົມ
ວິທີປຽບທຽບສອງສະຕິງໃນພາສາການຂຽນໂປຣແກມ C - ສະມາຄົມ

ເນື້ອຫາ

ມັນເປັນເລື່ອງ ທຳ ມະດາຢູ່ໃນລະຫັດ C ເພື່ອປຽບທຽບຄວາມຍາວຂອງສະຕິງເພື່ອຊອກຫາວ່າສະຕິງໃດມີຕົວອັກສອນຫຼາຍກວ່າ. ອັນນີ້ເປັນປະໂຫຍດຕໍ່ການຮຽງລໍາດັບຂໍ້ມູນ. ຕ້ອງມີ ໜ້າ ທີ່ພິເສດເພື່ອປຽບທຽບສະຕຣິງ - ຢ່າໃຊ້ != ຫຼື ==.

ຂັ້ນຕອນ

  1. 1 ພາສາການຂຽນໂປຣແກມ C ປະກອບມີສອງ ໜ້າ ທີ່ທີ່ເຈົ້າສາມາດໃຊ້ເພື່ອປຽບທຽບຄວາມຍາວຂອງສະຕິງ. ທັງສອງ ໜ້າ ທີ່ເຫຼົ່ານີ້ແມ່ນລວມຢູ່ໃນຫ້ອງສະຸດ string.h>.
    • strcmp () - ຟັງຊັນນີ້ປຽບທຽບສອງສະຕຣິງແລະຕອບຄ່າຄວາມແຕກຕ່າງຂອງຈໍານວນຕົວອັກສອນ.
    • strncmp () - ໜ້າ ທີ່ນີ້ຄືກັນກັບ strcmp () ຍົກເວັ້ນອັນ ທຳ ອິດ n ຕົວອັກສອນ. ມັນໄດ້ຖືກພິຈາລະນາວ່າມີຄວາມປອດໄພກວ່າເພາະມັນຫຼີກເວັ້ນຄວາມລົ້ມເຫຼວທີ່ລົ້ນ.
  2. 2 ເລີ່ມໂຄງການດ້ວຍຫ້ອງສະຸດທີ່ຕ້ອງການ. ເຈົ້າຈະຕ້ອງການຫ້ອງສະຸດ stdio.h> ແລະ string.h>ເຊັ່ນດຽວກັນກັບຫ້ອງສະotherຸດອື່ນ required ທີ່ຕ້ອງການ ສຳ ລັບໂຄງການສະເພາະຂອງເຈົ້າ.

    #ລວມເອົາ stdio.h> #ລວມເອົາ string.h>

  3. 3 ໃສ່ຟັງຊັນ int. ມັນຕອບຄ່າຕົວເລກເປັນຜົນມາຈາກການປຽບທຽບຄວາມຍາວຂອງສອງສະຕິງ.

    #ລວມເອົາ stdio.h> #ລວມເອົາ string.h> int main () {}

  4. 4 ລະບຸສອງສະຕຣິງທີ່ເຈົ້າຕ້ອງການປຽບທຽບ. ໃນຕົວຢ່າງຂອງພວກເຮົາ, ໃຫ້ສົມທຽບສອງສະຕິງຊະນິດ ຕົວອັກສອນ... ກຳ ນົດຄ່າຜົນຕອບແທນເປັນ ຈຳ ນວນເຕັມ.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "ສີສົ້ມ"; int ret; }

  5. 5 ໃສ່ຟັງຊັນການປຽບທຽບ. ໃນຕົວຢ່າງຂອງພວກເຮົາ, ພວກເຮົາຈະໃຊ້ຟັງຊັນ strncmp ()... ໃນມັນທີ່ທ່ານຕ້ອງການເພື່ອກໍານົດຈໍານວນຂອງລັກສະນະການວັດແທກ.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "ສີສົ້ມ"; int ret; ret = strncmp (str1, str2, 8); / * ປຽບທຽບສອງສະຕຣິງຍາວເຖິງ 8 ຕົວອັກສອນ * /}

  6. 6 ໃສ່ ຄຳ ຖະແຫຼງທີ່ມີເງື່ອນໄຂ ຖ້າ... ອັນອື່ນ. ມັນ ຈຳ ເປັນຕ້ອງສະແດງໃຫ້ເຫັນວ່າແຖວໃດຍາວກວ່າ. ໜ້າ ທີ່ strncmp () ຈະຄືນ ຈຳ ນວນ 0ຖ້າຄວາມຍາວຂອງສະຕຣິງຄືກັນ, ຕົວເລກບວກຖ້າ str1 ຍາວກວ່າ, ແລະຕົວເລກລົບຖ້າ str2 ຍາວກວ່າ.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "ສີສົ້ມ"; int ret; ret = strncmp (str1, str2, 8); ຖ້າ (ret> 0) {printf ("str1 ຍາວກວ່າ"); } else if (ret 0) {printf ("str2 ຍາວກວ່າ"); } else {printf ("ຄວາມຍາວເສັ້ນເທົ່າກັນ"); } ຄືນ (0); }

ຄຳ ເຕືອນ

  • ຈື່ໄວ້ວ່າຖ້າຄວາມຍາວຂອງສະຕຣິງເທົ່າກັນ, ຄ່າ 0 ຈະຖືກສົ່ງຄືນ. ອັນນີ້ສາມາດເຮັດໃຫ້ເກີດຄວາມສັບສົນເພາະວ່າ 0 ກໍ່ບໍ່ຖືກຕ້ອງຄືກັນ.