Nó sử dụng các giá trị byte của các ký tự, trả về giá trị âm nếu chuỗi đầu tiên xuất hiện trước thứ hai (theo yêu cầu của giá trị byte), không nếu chúng bằng nhau, và giá trị dương nếu xuất hiện đầu tiên sau thứ hai. Vì nó hoạt động trên byte, không phải là encoding-aware.
Ví dụ:
strcmp ("abc", "def") <0
strcmp ("abc", "abcd") <0 / / ký tự null là ít hơn 'd'
strcmp ("abc", "ABC")> 0 / / 'a'> 'A' trong ASCII
strcmp ("abc", "abc") == 0
Dấu hiệu của giá trị trả về khác 0 được xác định bởi sự khác biệt giữa giá trị của các cặp đầu tiên của byte (cả hai hiểu là loại unsigned char) khác chuỗi được so sánh.