ภาษา C เปรียบเทียบ string ด้วยคำสั่ง strcmp ใช้สำหรับเปรียบเทียบ string 2 ตัว โดยคำสั่งนี้จะคืนค่าเป็นตัวเลข (int) ถ้า string เหมือนกันคืนค่า 0 ถ้าไม่เหมือนกันคืนค่าไม่เท่ากับ > 0 และ < 0 สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง ภาษา C เปรียบเทียบ string ด้วยคำสั่ง strcmp
#include <stdio.h>
#include <string.h>
void main() {
char a[] = "abc";
char b[] = "abc";
char c[] = "ABC";
int r;
r = strcmp(a, b);
printf("a เปรียบเทียบ string กับ b = %d\n", r);
r = strcmp(a, c);
printf("a เปรียบเทียบ string กับ c = %d\n", r);
}
ผลลัพธ์
a เปรียบเทียบ string กับ b = 0
a เปรียบเทียบ string กับ c = 32
ภาษา C เปรียบเทียบ string ด้วยคำสั่ง strcmp จากตัวอย่างโค้ดสามารถอธิบายได้ดังนี้
1. ผลลัพธ์จาก a เปรียบเทียบ b ด้วย strcmp(a, b) ได้ผลลัพธ์ 0 แปลว่า ตัวแปร a และ b มี string ที่เหมือนกัน
2. ผลลัพธ์จาก a เปรียบเทียบ c ด้วย strcmp(a, c) ได้ผลลัพธ์ 32 แปลว่า ตัวแปร a และ b มี string ที่ไม่เหมือนกัน
3. ถ้าผลลัพธ์มีค่ามากกว่า 0 แปลว่า string ตัวแรกมีค่ามากกว่าตัวที่สอง ถ้าผลลัพธ์มีค่าน้อยกว่า 0 แปลว่า string ตัวแรกมีค่าน้อยกว่าตัวที่สอง