Bagaimana membandingkan dua string dalam bahasa pemrograman C

Pengarang: William Ramirez
Tanggal Pembuatan: 18 September 2021
Tanggal Pembaruan: 1 Juli 2024
Anonim
40 Tutorial String strcmp Membandingkan dua Buah String Bagian 40 - Belajar Bahasa C Dev-C++
Video: 40 Tutorial String strcmp Membandingkan dua Buah String Bagian 40 - Belajar Bahasa C Dev-C++

Isi

Sangat umum dalam kode C untuk membandingkan panjang string untuk mengetahui string mana yang berisi lebih banyak karakter. Ini berguna untuk menyortir data. Fungsi khusus diperlukan untuk membandingkan string - jangan gunakan != atau ==.

Langkah

  1. 1 Bahasa pemrograman C mencakup dua fungsi yang dapat Anda gunakan untuk membandingkan panjang string. Kedua fungsi ini termasuk dalam perpustakaan string.h>.
    • strcmp() - fungsi ini membandingkan dua string dan mengembalikan perbedaan jumlah karakter.
    • strncmp() - fungsi ini sama dengan strcmp() kecuali yang pertama n karakter. Ini dianggap lebih aman karena menghindari kegagalan overflow.
  2. 2 Mulai program dengan perpustakaan yang diperlukan. Anda akan membutuhkan perpustakaan stdio.h> dan string.h>serta perpustakaan lain yang diperlukan untuk program spesifik Anda.

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

  3. 3 Masukkan fungsi ke dalam. Ini mengembalikan bilangan bulat sebagai hasil dari membandingkan panjang dua string.

    #include stdio.h> #include string.h> int main() {}

  4. 4 Identifikasi dua string yang ingin Anda bandingkan. Dalam contoh kita, mari kita bandingkan dua string tipe arang... Juga tentukan nilai pengembalian sebagai bilangan bulat.

    #include stdio.h> #include string.h> int main() {char * str1 = "apple"; char * str2 = "oranye"; intret; }

  5. 5 Masukkan fungsi perbandingan. Dalam contoh kita, kita akan menggunakan fungsi strncmp()... Di dalamnya Anda perlu mengatur jumlah karakter yang diukur.

    #include stdio.h> #include string.h> int main() {char * str1 = "apple"; char * str2 = "oranye"; intret; ret = strncmp (str1, str2, 8); / * Membandingkan dua string hingga 8 karakter * /}

  6. 6 Masukkan pernyataan bersyarat Jika... Lain. Diperlukan untuk menunjukkan garis mana yang lebih panjang. Fungsi strncmp() akan mengembalikan nomor 0jika panjang string sama, angka positif jika str1 lebih panjang, dan angka negatif jika str2 lebih panjang.

    #include stdio.h> #include string.h> int main() {char * str1 = "apple"; char * str2 = "oranye"; intret; ret = strncmp (str1, str2, 8); if (ret> 0) {printf("str1 lebih panjang"); } else if (ret 0) {printf("str2 lebih panjang"); } else {printf("Panjang garis sama dengan"); } kembali (0); }

Peringatan

  • Ingat bahwa jika panjang string sama, nilai 0 akan dikembalikan.Hal ini dapat membingungkan karena 0 juga FALSE.