Strncmp adalah salah satu perintah dalam library string.h untuk membandingkan 2 buah string. Bedanya dengan Strcmp adalah Strncmp membandingkan string berdasarkan panjang string tertentu yang dihitung dari awal.
strncmp(string1, string2, len);
string1 dan string2: string yang akan dibandingkan.
len: panjang string yang akan dibandingkan (dihitung dari awal).
Return value: negatif (< 0), 0, atau positif (> 0)
< 0 : string1 lebih pendek atau nilai karakter pertama yang berbeda lebih kecil dalam urutan kode ASCII
0 : string1 = string2
> 0 : string1 lebih panjang atau nilai karakter pertama yang berbeda lebih besar dalam urutan kode ASCII
Hati-hati!
Jika return valuenya tidak 0, maka return valuenya tidak tepat -1 atau 1 walaupun hasil perintah printf menampilkan nilai -1 atau 1.
Jadi, gunakan kode ini
if(strncmp(string1, string2, panjang) > 0)
atau
if(strncmp(string1, string2, panjang) < 0)
daripada
if(strncmp(string1, string2, panjang) == 1)
atau
if(strncmp(string1, string2, panjang) == -1)
Berikut implemetasinya dalam bahasa pemrograman C.
#include<stdio.h>
#include<string.h>
int main()
{
char string1[50], string2[50];
int panjang;
scanf("%[^\n]s", string1); getchar();
scanf("%[^\n]s", string2); getchar();
scanf("%d", &panjang);
printf("%d", strncmp(string1, string2, panjang));
}
Contoh input 1:
teknik informatika
teknik industri
9
Contoh output 1:
0
Contoh input 2:
teknik informatika
teknik industri
10
Contoh output 2:
1
No comments:
Post a Comment