Membandingkan panjang string adalah fungsi umum dalam pemrograman C, karena memungkinkan Anda untuk melihat string mana yang berisi lebih banyak karakter. Ini sangat berguna untuk menyortir data. Membandingkan string membutuhkan fungsi khusus; jangan gunakan != atau ==.
Langkah
Langkah 1. Ada dua fungsi yang memungkinkan Anda untuk membandingkan string di C
Kedua fungsi ini termasuk dalam perpustakaan.
- strcmp() - Fungsi ini membandingkan dua string dan mengembalikan perbedaan komparatif dalam jumlah karakter.
- strncmp() - Ini sama dengan strcmp(), kecuali membandingkan n karakter pertama. Ini dianggap lebih aman karena membantu mencegah crash dari overflow.
Langkah 2. Mulai program dengan pustaka yang Anda perlukan
Anda akan menginginkan keduanya dan perpustakaan, bersama dengan yang lain yang mungkin Anda perlukan untuk program spesifik Anda.
#sertakan #sertakan
Langkah 3. Mulai
ke dalam fungsi.
Ini adalah cara termudah untuk mempelajari fungsi ini, karena akan mengembalikan bilangan bulat yang membandingkan panjang kedua string.
#include #include int main() { }
Langkah 4. Tentukan dua string yang ingin Anda bandingkan
Untuk contoh ini, kita akan membandingkan dua string char yang telah ditentukan. Anda juga ingin mendefinisikan nilai kembalian sebagai bilangan bulat.
#include #include int main() { char *str1 = "apel"; char *str2 = "oranye"; intret; }
Langkah 5. Tambahkan fungsi perbandingan
Sekarang setelah Anda menentukan dua string, Anda dapat menambahkan fungsi perbandingan. Kita akan menggunakan strncmp(), jadi kita perlu memastikan bahwa jumlah karakter yang akan diukur diatur dalam fungsi.
#include #include int main() { char *str1 = "apel"; char *str2 = "oranye"; intret; ret = strncmp(str1, str2, 6); /*Ini akan membandingkan dua string hingga 6 karakter */ }
Langkah 6. Gunakan
Jika … Lain pernyataan untuk melakukan perbandingan.
Sekarang setelah Anda memiliki fungsi tersebut, Anda dapat menggunakan pernyataan If…Else untuk menampilkan string mana yang lebih panjang. strncmp() akan mengembalikan 0 jika string memiliki panjang yang sama, angka positif jika str1 lebih besar, dan angka negatif jika str2 lebih besar.
#include #include int main() { char *str1 = "apel"; char *str2 = "oranye"; intret; ret = strncmp(str1, str2, 6); if(ret > 0) { printf("str1 lebih panjang"); } else if(ret < 0) { printf("str2 lebih panjang"); } else { printf("Kedua string sama"); } kembali (0); }