ऑपरेटर '?' को टर्नरी ऑपरेटर के रूप में जाना जाता है क्योंकि इसे कार्य करने के लिए तीन ऑपरेंड्स की आवश्यकता होती है। इसे "?:" द्वारा दर्शाया जा सकता है। इसे कंडीशनल ऑपरेटर के रूप में भी जाना जाता है। यह ऑपरेटर प्रदर्शन में सुधार करता है और कोड की लाइनों को कम करता है।
C में सिंटैक्स
Expression1 ? Expression2 : Expression3
उदाहरण
#include <stdio.h>
int main() {
int a = -1;
double b = 26.4231;
int c = a ? printf("सही मान: %lf", b) : printf("गलत मान: 0");
return 0;
}
आउटपुट
सही मान: 26.423100
Expression1 का मूल्यांकन हमेशा होगा जबकि expression2 और expression3 expression1 के परिणाम पर निर्भर करते हैं। यदि expression1 का परिणाम नॉन-ज़ीरो या नेगेटिव है, तो expression2 प्रदर्शित होगा, अन्यथा expression3 प्रदर्शित होगा।
टर्नरी ऑपरेटर का एक रिटर्न टाइप होता है। रिटर्न टाइप expression2 पर निर्भर करता है और expression3 के expression2 में कन्वर्टिबिलिटी पर भी। यदि वे कन्वर्टिबल नहीं हैं, तो कंपाइलर एरर फेंकेगा।
एक और उदाहरण
#include <stdio.h>
int main() {
int x = -1, y = 3;
double b = x + y + 0.5;
int c = x < y ? printf("सही मान: %lf", b) : printf("गलत मान: 0");
return 0;
}
आउटपुट
सही मान: 2.500000