memcmp()
C string memcmp() funksiyasi
Misol
Qaysi biri kattaroq ekanini bilish uchun ikkita xotira blokini solishtiring:
char myStr1[] = "ABCD";
char myStr2[] = "ABCE";
int cmp = memcmp(myStr1, myStr2, 4);
if (cmp > 0) {
printf("%s is greater than %s\n", myStr1, myStr2);
} else if (cmp < 0) {
printf("%s is greater than %s\n", myStr2, myStr1);
} else {
printf("%s is equal to %s\n", myStr1, myStr2);
}
O‘zingiz sinab ko‘ring »
Ta’rif va qo‘llanilishi
memcmp() funksiyasi ikkita xotira blokini solishtiradi va qaysi biri kattaroq ekanini bildiruvchi butun son qaytaradi.
Bu solishtirishda ikkala xotira blokidagi bir xil pozitsiyadagi baytlar 0-pozitsiyadan boshlab, ulardan biri mos kelmay qolguncha yoki xotira bloki oxiriga yetilguncha birma-bir solishtiriladi. Uchta holat bo‘lishi mumkin:
- Agar xotira bloklari oxiriga hech qanday nomuvofiqliksiz yetib kelinsa, funksiya nol qaytaradi.
- Birinchi nomuvofiqlikda, agar birinchi xotira blokidagi baytning qiymati kattaroq bo‘lsa, funksiya musbat son qaytaradi.
- Birinchi nomuvofiqlikda, agar ikkinchi xotira blokidagi baytning qiymati kattaroq bo‘lsa, funksiya manfiy son qaytaradi.
memcmp() funksiyasi <string.h> sarlavha faylida aniqlangan.
Sintaksis
memcmp(void * pointer1, void * pointer2, size_t size);
size_t ma’lumot tipi musbat butun sondir.
Parametr qiymatlari
| Parametr | Tavsif |
|---|---|
| pointer1 | Majburiy. Solishtiriladigan xotira bloklaridan biriga ko‘rsatkich. |
| pointer2 | Majburiy. Solishtiriladigan xotira bloklaridan biriga ko‘rsatkich. |
| size | Majburiy. Solishtiriladigan baytlar soni. |
Texnik tafsilotlar
| Qaytaradi: | Birinchi xotira bloki kattaroq bo‘lsa musbat, ikkinchi xotira bloki kattaroq bo‘lsa manfiy, ikkala xotira bloki teng bo‘lsa 0 ga teng bo‘lgan int qiymat. |
|---|
Tegishli sahifalar
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
