در عبارت شرطی زیر فرض کنید که متغیر i از نوع int باشد.
(i<0) ? 0: ۱۰۰
ابتدا عبارت (i<0) ارزیابی میشود. اگر پاسخ true بود (یعنی مقدار متغیر i کوچکتر از صفر بود)، کل عبارت شرطی مقدار صفر را خواهد پذیرفت. در غیر این صورت (یعنی اگر مقدار i کوچکتر از صفر نباشد)، کل عبارت شرطی مقدار ۱۰۰ را خواهد پذیرفت.
عبارات شرطی، اغلب در طرف راست دستور انتساب ظاهر میگردند، مانند مثال اول. در چنین مواردی، مقدار عبارت شرطی به متغیر واقع در طرف چپ دستور انتساب اختصاص مییابد.
مثال به عبارت شرطی زیر توجه کنید.
min = (i<0) ? 0: ۱۰ ;
در اینجا اگر متغیر i منفی باشد، به متغیر min مقدار صفر نسبت داده خواهد شد. وگرنه به متغیر min مقدار ۱۰ اختصاص خواهد یافت. عملگر شرطی تقدمی بالاتر از عملگرهای انتساب دارد و شرکتپذیری آن از راست به چپ است.
مثال به قطعه برنامه زیر توجه کنید.
int a =1 , b = 2 , c = 3 ;
c += (a > 0 && a<= 10) ? ++a: a/b ;
در اینجا مقدار عبارت شرطی برابر ۲ میشود و با توجه به عملگر انتساب جمع داریم
c = 3 + 2 = 5
معمولاً این عملگر خوانایی برنامه را کاهش میدهد. لذا به جای آن اغلب از دستور if else استفاده میشود.