strncmp()

Membandingkan hanya sebagian (n karakter pertama) dari dua string

Fungsi strncmp() digunakan untuk membandingkan n karakter pertama dari dua string berdasarkan nilai ASCII.

Sintaks

int strncmp(const char *str1, const char *str2, size_t n);
  • str1 âžœ String pertama yang akan dibandingkan.

  • str2 âžœ String kedua yang akan dibandingkan.

  • n âžœ Jumlah karakter pertama yang akan dibandingkan.

  • Mengembalikan nilai:

    • 0 âžœ Jika n karakter pertama dari kedua string sama.

    • Negatif (<0) âžœ Jika str1 lebih kecil dari str2 dalam n karakter pertama.

    • Positif (>0) âžœ Jika str1 lebih besar dari str2 dalam n karakter pertama.

Contoh Pengunaan

#include <stdio.h>
#include <string.h>

int main() {
    char str1[] = "hello";
    char str2[] = "helicopter";
    char str3[] = "hello world";

    printf("Perbandingan 3 karakter pertama: %d\n", strncmp(str1, str2, 3));
    printf("Perbandingan 5 karakter pertama: %d\n", strncmp(str1, str2, 5));
    printf("Perbandingan 6 karakter pertama: %d\n", strncmp(str1, str3, 6));

    return 0;
}

Hasilnya:

Perbandingan 3 karakter pertama: 0
Perbandingan 5 karakter pertama: 3
Perbandingan 6 karakter pertama: -32
  • strncmp(str1, str2, 3)

    • "hel" dalam "hello" dan "helicopter" sama âžœ Hasilnya 0.

  • strncmp(str1, str2, 5)

    • "hello" dan "helicopter" berbeda di karakter ke-4 ('l' vs 'i')

    • Hasilnya = 'l' - 'i' = 108 - 105 = 3.

  • strncmp(str1, str3, 6)

    • "hello" dan "hello world" sama di 5 karakter pertama, tetapi beda di karakter ke-6

    • Perbedaan: '\0' (akhir string str1) vs ' ' (ASCII 32) dalam str3

    • Hasilnya = '\0' - ' ' = 0 - 32 = -32.

Last updated