Operator Ternary di C Dijelaskan

Pemrogram menggunakan operator terner untuk pengambilan keputusan menggantikan pernyataan bersyarat if dan lainnya .

Operator terner mengambil tiga argumen:

  1. Yang pertama adalah argumen perbandingan
  2. Yang kedua adalah hasil dari perbandingan yang benar
  3. Yang ketiga adalah hasil dari perbandingan yang salah

Ini membantu untuk memikirkan operator terner sebagai cara singkat atau menulis pernyataan jika-lain. Berikut adalah contoh pengambilan keputusan sederhana menggunakan if dan else :

int a = 10, b = 20, c; if (a < b) { c = a; } else { c = b; } printf("%d", c);

Contoh ini membutuhkan lebih dari 10 baris, tetapi itu tidak perlu. Anda dapat menulis program di atas hanya dalam 3 baris kode menggunakan operator terner.

Sintaksis

condition ? value_if_true : value_if_false

Pernyataan tersebut mengevaluasi value_if_truejika conditionterpenuhi, dan value_if_falsesebaliknya.

Berikut contoh di atas yang ditulis ulang untuk menggunakan operator terner:

int a = 10, b = 20, c; c = (a < b) ? a : b; printf("%d", c);

Keluaran dari contoh di atas seharusnya:

10

cdisetel sama dengan a, karena kondisinya a < bbenar.

Ingatlah bahwa argumen value_if_truedan value_if_falseharus dari jenis yang sama, dan mereka harus ekspresi sederhana daripada pernyataan lengkap.

Operator terner dapat disarangkan seperti pernyataan if-else. Perhatikan kode berikut:

int a = 1, b = 2, ans; if (a == 1) { if (b == 2) { ans = 3; } else { ans = 5; } } else { ans = 0; } printf ("%d\n", ans);

Berikut kode di atas yang ditulis ulang menggunakan operator terner bersarang:

int a = 1, b = 2, ans; ans = (a == 1 ? (b == 2 ? 3 : 5) : 0); printf ("%d\n", ans);

Output dari kedua set kode di atas adalah:

3