تنها عملگر شرطی سه تائی که در++C موجود است عملگرشرطی است که سه عملوند دارد و فرم کلی آن به صورت زیر است:
;exp1 ? exp2 : exp3
اگر حاصل عبارت exp1 درست باشد (غیر صفر باشد) exp2 و اگر exp1 غلط باشد (برابر با صفر باشد) عبارت exp3 به عنوان نتیجه ارزیابی می شود.
مثال. اگر y غیرصفر باشد مقدار ۱ و اگر صفر باشد مقدار ۱۰۰ به x اختصاص داده می شود.
;x = y ? 1 : 100
مثال. عملگر شرطی مشابه یک جمله شرطی عمل می کند.
;z = (x > y) ? x : y
که مشابه جمله شرطی زیر است
if (x > y)
; z = x
else
; z = y
مثال. در عبارت زیر a برابر با b می شود اگر نتیجه کاهش b غیرصفر باشد. اگر نتیجه صفر شود a و b هردو برابر با مقدار -۹۹ می شوند
;a = –b ? b : (b = -99)