เปรียบเทียบสองสตริงในการเขียนโปรแกรมภาษาค.

ผู้เขียน: Judy Howell
วันที่สร้าง: 27 กรกฎาคม 2021
วันที่อัปเดต: 10 พฤษภาคม 2024
Anonim
สอนภาษาซี C: การเปรียบเทียบค่าตัวแปรสตริงด้วยฟังก์ชัน strcmp() และ strcasecmp()
วิดีโอ: สอนภาษาซี C: การเปรียบเทียบค่าตัวแปรสตริงด้วยฟังก์ชัน strcmp() และ strcasecmp()

เนื้อหา

การเปรียบเทียบความยาวสตริงเป็นฟังก์ชันที่ใช้กันทั่วไปในภาษาโปรแกรมซีเนื่องจากช่วยให้คุณทราบว่าสตริงใดมีอักขระมากกว่า สิ่งนี้มีประโยชน์มากสำหรับการจัดเรียงข้อมูล การเปรียบเทียบสตริงต้องใช้ฟังก์ชันพิเศษ ดังนั้นอย่าใช้: != หรือ ==.

ที่จะก้าว

  1. มีสองฟังก์ชันที่ช่วยให้คุณสามารถเปรียบเทียบสตริงใน C ทั้งสองอย่างรวมอยู่ในไฟล์ สตริง. h>ไลบรารีรหัส
    • strcmp () - ฟังก์ชันนี้จะเปรียบเทียบสองสตริงและส่งกลับค่าความแตกต่างของจำนวนอักขระ
    • strncmp () - นอกจากนี้ยังใช้กับ strcmp ()ยกเว้นว่าอันนี้เป็นอันแรก n เปรียบเทียบตัวละคร ถือว่าปลอดภัยมากขึ้นเนื่องจากช่วยป้องกันไม่ให้เกิดปัญหาล้น
  2. รันโปรแกรมด้วยไลบรารีที่จำเป็น คุณมีทั้งไลบรารี stdio.h> และ สตริง. h> จำเป็นพร้อมกับไลบรารีอื่น ๆ ที่คุณอาจต้องการสำหรับโปรแกรมของคุณ

    #include stdio.h> [[รูปภาพ: เปรียบเทียบสองสตริงในการเขียนโปรแกรม C ขั้นตอนที่ 1 เวอร์ชัน 4.webp | center]] #include string.h>

  3. เริ่มต้นอย่างใดอย่างหนึ่งintฟังก์ชัน นี่เป็นวิธีที่ง่ายที่สุดในการเรียนรู้ฟังก์ชันนี้เนื่องจากจะส่งกลับจำนวนเต็มโดยเปรียบเทียบความยาวของสตริงทั้งสอง

    [[รูปภาพ: เปรียบเทียบสองสตริงในการเขียนโปรแกรม C ขั้นตอนที่ 2 เวอร์ชัน 4.webp | center]] #include stdio.h> [[รูปภาพ: เปรียบเทียบสองสตริงในการเขียนโปรแกรม C ขั้นตอนที่ 3 เวอร์ชัน 3.webp | center]] # รวมสตริง h> int หลัก () {}

  4. ตัดสินใจว่าคุณต้องการเปรียบเทียบสองสตริงใด ในตัวอย่างนี้เราเปรียบเทียบสองข้อมูล ถ่าน สตริง คุณต้องกำหนดค่าที่ส่งคืนเป็นจำนวนเต็มด้วย

    [[รูปภาพ: เปรียบเทียบสองสตริงในการเขียนโปรแกรม C ขั้นตอนที่ 4 เวอร์ชัน 4.webp | center]] # รวม stdio.h> [[รูปภาพ: เปรียบเทียบสตริงสองสตริงในการเขียนโปรแกรม C ขั้นตอนที่ 5 เวอร์ชัน 4.webp | center]] # รวมสตริง h> int หลัก () {ถ่าน * str1 = "แอปเปิ้ล"; ถ่าน * str2 = "สีส้ม"; int ret;}

  5. เพิ่มฟังก์ชันเปรียบเทียบ ตอนนี้คุณได้กำหนดสองสตริงแล้วคุณสามารถเพิ่มฟังก์ชันเปรียบเทียบได้ พวกเราไป strncmp () ดังนั้นเราต้องตรวจสอบให้แน่ใจว่าได้กำหนดจำนวนอักขระที่จะวัดภายในฟังก์ชันแล้ว

    [[รูปภาพ: เปรียบเทียบ 2 Strings ในการเขียนโปรแกรม C ขั้นตอนที่ 6 เวอร์ชัน 4.webp | center]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; ถ่าน * str2 = "สีส้ม"; int ret; ret = strncmp (str1, str2, 11); / * เปรียบเทียบทั้งสองสตริงที่มีความยาวไม่เกิน 11 อักขระ * /}

  6. ใช้.ถ้า ...เพื่อทำการเปรียบเทียบ ตอนนี้เราได้สร้างฟังก์ชันแล้วให้ใช้ ถ้า ... เพื่อกำหนดสตริงที่ยาวกว่า strncmp () ให้ 0 เป็นผลให้ถ้าสตริงมีความยาวเท่ากันจำนวนบวกถ้า str1 ยาวกว่าและจำนวนลบถ้า str2 ยาวกว่า

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; ถ่าน * str2 = "สีส้ม"; int ret; ret = strncmp (str1, str2, 11); ถ้า (ret> 0) {printf ("str1 is longer"); } else if (ret 0) {printf ("str2 is longer"); } else {printf ("ทั้งสองสายเหมือนกัน"); } กลับ (0); }

คำเตือน

  • โปรดจำไว้ว่าค่าที่ส่งคืนคือ 0 หากสตริงมีค่าเท่ากัน สิ่งนี้อาจสร้างความสับสนได้เนื่องจาก 0 เป็นค่าของ FALSE