การเปรียบเทียบความยาวสตริงเป็นฟังก์ชันที่ใช้กันทั่วไปในการเขียนโปรแกรม C เนื่องจากสามารถบอกคุณได้ว่าสตริงใดมีอักขระมากกว่า ฟังก์ชันนี้มีประโยชน์มากในการจัดเรียงข้อมูล การเปรียบเทียบสตริงต้องมีฟังก์ชันพิเศษ อย่าใช้ != หรือ ==
ขั้นตอน
ขั้นตอนที่ 1 มีฟังก์ชัน 2 ประเภทที่คุณสามารถใช้เพื่อเปรียบเทียบสตริงในภาษา C
ฟังก์ชันทั้งสองนี้รวมอยู่ในไลบรารี
- strcmp(): ฟังก์ชั่นนี้เปรียบเทียบสองสตริงและส่งกลับผลลัพธ์ของการเปรียบเทียบจำนวนอักขระระหว่างกัน
- strncmp(): ฟังก์ชันนี้เหมือนกับ strcmp() เว้นแต่จะเปรียบเทียบอักขระ n} ตัวแรกในสตริง ฟังก์ชันนี้ถือว่าปลอดภัยกว่าเพราะป้องกันไม่ให้โปรแกรมหยุดทำงานเนื่องจากการโอเวอร์โหลด
ขั้นตอนที่ 2 เรียกใช้โปรแกรมด้วยไลบรารีที่คุณต้องการ
เราขอแนะนำให้คุณเรียกใช้ และ ร่วมกับไลบรารีอื่นๆ ที่คุณต้องการสำหรับโปรแกรมเฉพาะ
#รวม #รวม
ขั้นตอนที่ 3 เรียกใช้ฟังก์ชัน
อินเตอร์ นี่เป็นวิธีที่ง่ายที่สุดในการเรียนรู้ฟังก์ชันนี้ เนื่องจากจะส่งคืนค่าจำนวนเต็มของการเปรียบเทียบจำนวนอักขระในสองสตริง
#include #include int main() { }
ขั้นตอนที่ 4 กำหนดสองสตริงที่คุณต้องการเปรียบเทียบ
ตัวอย่างเช่น เราจะเปรียบเทียบข้อมูลถ่านประเภท 2 สตริงที่กำหนดไว้ก่อนหน้านี้ คุณยังสามารถกำหนดค่าที่ส่งคืนโดยฟังก์ชันนี้เพื่อให้มีชนิดข้อมูลจำนวนเต็ม
#include #include int main () { ถ่าน * str1 = "แอปเปิ้ล"; ถ่าน *str2 = "สีส้ม"; int ret; }
ขั้นตอนที่ 5. เพิ่มฟังก์ชันการเปรียบเทียบ
เมื่อคุณกำหนดสตริงทั้งสองแล้ว คุณสามารถเพิ่มฟังก์ชันการเปรียบเทียบได้ เราจะใช้ strncmp() ดังนั้น เราจะต้องตรวจสอบให้แน่ใจว่าได้ตั้งค่าจำนวนอักขระที่จะวัดในฟังก์ชันแล้ว
#include #include int main () { ถ่าน * str1 = "แอปเปิ้ล"; ถ่าน *str2 = "สีส้ม"; int ret; ret = strncmp(str1, str2, 6); /*ฟังก์ชันนี้จะเปรียบเทียบทั้ง ''string'' ที่มีอักขระ 6 ตัว */ }
ขั้นตอนที่ 6. ใช้คำสั่ง
ถ้า…อย่างอื่นทำการเปรียบเทียบ หลังจากที่คุณเพิ่มฟังก์ชันลงในโปรแกรมของคุณแล้ว คุณสามารถใช้คำสั่งเพื่อแสดงว่าสตริงใดมีอักขระมากกว่า strncmp() จะคืนค่า 0 หากสตริงมีจำนวนอักขระเท่ากัน ค่าบวกถ้า str1 ยาวกว่า และจำนวนลบหาก str2 ยาวกว่า
#include #include int main () { ถ่าน * str1 = "แอปเปิ้ล"; ถ่าน *str2 = "สีส้ม"; int ret; ret = strncmp(str1, str2, 6); if(ret > 0) { printf("str1 islong"); } else if(ret < 0) { printf("str2 is length"); } else { printf("สตริงทั้งสองมีความยาวเท่ากัน"); } ผลตอบแทน (0); }