Membandingkan panjang tali adalah fungsi umum dalam pengaturcaraan C, kerana ia memungkinkan anda melihat rentetan mana yang mengandungi lebih banyak watak. Ini sangat berguna untuk menyusun data. Membandingkan tali memerlukan fungsi khas; jangan gunakan! = atau ==.
Langkah-langkah
Langkah 1. Terdapat dua fungsi yang membolehkan anda membandingkan rentetan dalam C
Kedua-dua fungsi ini termasuk dalam perpustakaan.
- strcmp () - Fungsi ini membandingkan dua rentetan dan mengembalikan perbezaan perbandingan bilangan watak.
- strncmp () - Ini sama dengan strcmp (), kecuali ia membandingkan watak n pertama. Ia dianggap lebih selamat kerana dapat membantu mencegah kerosakan daripada limpahan.
Langkah 2. Mulakan program dengan perpustakaan yang anda perlukan
Anda mahukan kedua-dua dan perpustakaan, bersama dengan yang lain yang mungkin anda perlukan untuk program khusus anda.
#sertakan #sertakan
Langkah 3. Mulakan
int fungsi.
Ini adalah kaedah termudah untuk mempelajari fungsi ini, kerana ia akan mengembalikan bilangan bulat yang membandingkan panjang dua rentetan.
#include #include int main () {}
Langkah 4. Tentukan dua rentetan yang ingin anda bandingkan
Untuk contoh ini, kita akan membandingkan dua rentetan char yang telah ditentukan. Anda juga ingin menentukan nilai kembali sebagai bilangan bulat.
#include #include int main () {char * str1 = "apple"; char * str2 = "oren"; int ret; }
Langkah 5. Tambahkan fungsi perbandingan
Setelah anda menentukan dua rentetan, anda boleh menambahkan fungsi perbandingan. Kita akan menggunakan strncmp (), jadi kita perlu memastikan bahawa jumlah watak yang akan diukur ditetapkan dalam fungsi.
#include #include int main () {char * str1 = "apple"; char * str2 = "oren"; int ret; ret = strncmp (str1, str2, 6); / * Ini akan membandingkan dua rentetan hingga 6 aksara * /}
Langkah 6. Gunakan a
Jika tidak penyataan untuk melakukan perbandingan.
Sekarang setelah fungsi tersebut tersedia, Anda dapat menggunakan pernyataan If… Else untuk memaparkan rentetan mana yang lebih panjang. strncmp () akan mengembalikan 0 jika rentetan panjangnya sama, nombor positif jika str1 lebih besar, dan nombor negatif jika str2 lebih besar.
#include #include int main () {char * str1 = "apple"; char * str2 = "oren"; int ret; ret = strncmp (str1, str2, 6); jika (ret> 0) {printf ("str1 lebih panjang"); } lain jika (ret <0) {printf ("str2 lebih panjang"); } lain {printf ("Kedua tali itu sama"); } kembali (0); }