Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी/सी++ टर्नरी ऑपरेटर के बारे में कुछ रोचक टिप्पणियां

हम जानते हैं कि टर्नरी ऑपरेटर को if..else क्लॉज के बजाय लागू किया जाता है। इसे ?:द्वारा दर्शाया जाता है। '?' प्रतीक अगर भाग के बराबर है और ':' अन्य भाग के बराबर है। निम्नलिखित 3 कार्यक्रम टर्नरी ऑपरेटर के मामले में कुछ दिलचस्प अवलोकन की व्याख्या करते हैं।

निम्नलिखित प्रोग्राम बिना किसी त्रुटि के संकलन करने में सक्षम है। टर्नरी एक्सप्रेशन का रिटर्न प्रकार फ़्लोट होने की उम्मीद है (एक्सपी 2 के रूप में) और एक्सप 3 (यानी शाब्दिक शून्य - इंट टाइप) परोक्ष रूप से फ्लोट में परिवर्तित करने में सक्षम है।

#include <iostream>
using namespace std;
int main(){
   int test1 = 0;
   float fvalue = 3.111f;
   cout<< (test1 ? fvalue : 0) << endl;
   return 0;
}

निम्नलिखित प्रोग्राम संकलित करने में सक्षम नहीं होगा, इसका कारण यह है कि कंपाइलर टर्नरी एक्सप्रेशन के रिटर्न प्रकार का पता लगाने या खोजने में सक्षम नहीं है या निहित रूपांतरण exp2 (चार सरणी) और exp3 (int) के बीच अनुपलब्ध है।

#include <iostream>
using namespace std;
int main(){
   int test1 = 0;
   cout<< test1 ? "A String" : 0 << endl;
   return 0;
}

निम्न प्रोग्राम संकलित करने में सक्षम हो सकता है, या रनटाइम पर विफल हो सकता है। टर्नरी एक्सप्रेशन का रिटर्न प्रकार सीमित या टाइप (चार *) तक सीमित है, फिर भी एक्सप्रेशन इंट लौटाता है, इसलिए प्रोग्राम विफल हो जाता है। शाब्दिक रूप से, प्रोग्राम निष्पादन समय या रनटाइम पर स्ट्रिंग को 0वें पते पर प्रिंट करने का प्रयास करता है।

#include <iostream>
using namespace std;
int main(){
   int test1 = 0;
   cout << (test1 ? "A String" : 0) << endl;
   return 0;
}

हम देख सकते हैं कि exp2 को आउटपुट प्रकार के रूप में माना जाता है और exp3 निष्पादन समय या रनटाइम पर exp2 में परिवर्तित हो सकेगा। यदि रूपांतरण को निहित माना जाता है तो संकलक रूपांतरण के लिए स्टब्स डालता है। यदि रूपांतरण को स्पष्ट रूप से माना जाता है तो संकलक एक त्रुटि फेंकता है। यदि कोई कंपाइलर ऐसी त्रुटि को पकड़ने में चूक जाता है, तो प्रोग्राम निष्पादन समय या रनटाइम पर विफल हो सकता है।


  1. सी/सी++ में अल्पविराम ऑपरेटर

    अल्पविराम ऑपरेटर का उद्देश्य कई अभिव्यक्तियों को एक साथ जोड़ना है। व्यंजकों की एक संक्षिप्त सूची का मान सबसे दाहिने व्यंजक का मान है। अनिवार्य रूप से, अल्पविराम का प्रभाव संचालन के अनुक्रम को निष्पादित करने के लिए होता है। अन्य भावों के मूल्यों को त्याग दिया जाएगा। इसका अर्थ है कि दाईं ओर का व्यंजक

  1. क्या करता है '?' सी/सी ++ में करते हैं?

    ऑपरेटर ? को टर्नरी ऑपरेटर के रूप में जाना जाता है क्योंकि इसे कार्य करने के लिए तीन ऑपरेंड की आवश्यकता होती है। इसे ? द्वारा दर्शाया जा सकता है? : इसे सशर्त ऑपरेटर के रूप में भी जाना जाता है। ऑपरेटर प्रदर्शन में सुधार करता है और कोड की पंक्तियों को कम करता है। सी भाषा में टर्नरी ऑपरेटर का सिंटैक्स

  1. C/C++ में टर्नरी ऑपरेटर्स

    जिन ऑपरेटरों को कार्य करने के लिए तीन ऑपरेंड की आवश्यकता होती है, उन्हें टर्नरी ऑपरेटर के रूप में जाना जाता है। इसे ? द्वारा दर्शाया जा सकता है? : इसे सशर्त ऑपरेटर के रूप में भी जाना जाता है। ऑपरेटर प्रदर्शन में सुधार करता है और कोड की रेखा को कम करता है। सी भाषा में टर्नरी ऑपरेटर का सिंटैक्स यहां