Bu operatör, if-else karşılaştırma deyiminin yaptığı işi sınırlı olarak yapan bir operatördür.
Genel yazım biçimi:
(koşul) ? deyim1 : deyim2;
İlk önce koşul sınanır. Eğer koşul olumluysa deyim1, olumsuzsa deyim2 değerlendirilir.
deyim1 ve deyim2 de atama işlemi yapılamaz. Ancak koşul deyiminde atama işlemi yapılabilir.
deyim1 ve deyim2 yerine fonksiyon da kullanılabilir.
Örnek:
x = ( a > b ) ? a : b;
Yukarıdaki ifadede koşul a'nın b'den büyük olmasıdır. Eğer olumluysa x adlı değişkene a değeri atanır, Olumsuzsa x adlı değişkene b değeri atanır.
Örneğin if-else bloğu ile gösterimi:
if (a > b)
x = a;
else
x = b;
Örnek:
int sayi = 15;
x = ( sayi < 10 ) ? printf("yazi1") : printf("yazi2");