Pemrogram menggunakan operator terner untuk pengambilan keputusan menggantikan pernyataan bersyarat if dan lainnya .
Operator terner mengambil tiga argumen:
- Yang pertama adalah argumen perbandingan
- Yang kedua adalah hasil dari perbandingan yang benar
- 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_true
jika condition
terpenuhi, dan value_if_false
sebaliknya.
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
c
disetel sama dengan a
, karena kondisinya a < b
benar.
Ingatlah bahwa argumen value_if_true
dan value_if_false
harus 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