सी मध्ये सशर्त ऑपरेटर

सशर्त ऑपरेटरला टर्नरी ऑपरेटर म्हणून देखील ओळखले जाते. सशर्त विधाने ही निर्णय घेणारी विधाने आहेत जी अभिव्यक्तीच्या आउटपुटवर अवलंबून असतात. हे दोन प्रतीकांनी प्रतिनिधित्व केले आहे, म्हणजे, '?' आणि ':'. सशर्त ऑपरेटर तीन ऑपरेंड्सवर काम करत असल्याने, म्हणून हे टर्नरी ऑपरेटर म्हणून देखील ओळखले जाते. सशर्त ऑपरेटरचे वर्तन 'आयएफ-एलएसई' स्टेटमेंटसारखेच आहे जसे 'आयएफ-एल्से' विधान देखील निर्णय घेण्याचे विधान आहे.

कसे लिहावे

ABaivyaKtaiR1? ABaivyaKtaiR2: ABaivyaKtaiR3

वरील वाक्यरचनाचा अर्थ.

वरील वाक्यरचना मध्ये, अभिव्यक्ति 1 ही एक बुलियन स्थिती आहे जी एकतर सत्य किंवा चुकीचे मूल्य असू शकते. जर अभिव्यक्ती 1 वास्तविक मूल्यात परिणाम झाला तर अभिव्यक्ती 2 कार्यान्वित होईल. अभिव्यक्ती 2 केवळ शून्य नसलेले मूल्य परत करते तेव्हाच खरे असल्याचे म्हटले जाते. जर अभिव्यक्ती 1 चुकीची मूल्य परत करते तर अभिव्यक्ती 3 कार्यान्वित होईल. अभिव्यक्ती 3 केवळ शून्य मूल्य परत करते तेव्हाच खोटे असल्याचे म्हटले जाते.

चला उदाहरणाद्वारे टर्नरी किंवा सशर्त ऑपरेटर समजूया

#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ vaya; // cala oaaeSanaa
laiha("pzavaiST kra tauJae vaya");
vacaa("%paunaZ",&vaya); // oaetaRAahe vaaparktaaZ EnapauT jaeMvh vaya cala
(vaya>=18)? (laiha("paaOa saaVi mataDana")) : (laiha("naahi paaOa saaVi mataDana")); // saSataZ ApareTr
vaapasakra 0;
}

वरील कोडमध्ये आम्ही वापरकर्त्याचे 'वय' म्हणून इनपुट घेत आहोत. इनपुट घेतल्यानंतर, आम्ही सशर्त ऑपरेटर वापरुन अट लागू केली आहे. या स्थितीत, आम्ही वापरकर्त्याचे वय तपासत आहोत. जर वापरकर्त्याचे वय 18 पेक्षा जास्त किंवा त्यापेक्षा जास्त असेल तर स्टेटमेंट 1 कार्यवाही करेल, म्हणजेच, (प्रिंटफ ("मतदानासाठी पात्र")) अन्यथा, स्टेटमेंट 2 कार्यवाही करेल, म्हणजेच, ("मतदानासाठी पात्र नाही").

जसे आपण वरील दोन आउटपुटमधून निरीक्षण करू शकतो की जर अट सत्य असेल तर स्टेटमेंट 1 कार्यान्वित केले जाईल; अन्यथा, स्टेटमेंट 2 कार्यान्वित केले जाईल. आत्तापर्यंत, आम्ही पाहिले आहे की सशर्त ऑपरेटर अट कशी तपासते आणि अटीवर आधारित, ती स्टेटमेन्ट्स कार्यान्वित करते. आता आम्ही पाहू की सशर्त ऑपरेटरला व्हेरिएबलला मूल्य नियुक्त करण्यासाठी कसे वापरले जाते.

#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ A=5,bai; // cala oaaeSanaa
bai=((A==5)?(3):(2)); // saSataZ ApareTr
laiha("D maulya cyaa 'b' cala Aahe : %paunaZ",bai);
vaapasakra 0;
}

वरील आउटपुट दर्शविते की 'बी' व्हेरिएबलचे मूल्य 3 आहे कारण 'ए' व्हेरिएबलचे मूल्य 5 च्या समान आहे. आम्हाला माहित आहे की सशर्त ऑपरेटर आणि 'आयएफ-एलएसई' चे वर्तन समान आहे परंतु त्यांच्यात काही फरक आहेत. चला त्यांचे मतभेद पाहूया. सशर्त ऑपरेटर एकल प्रोग्रामिंग स्टेटमेंट आहे, तर 'आयएफ-एल्से' स्टेटमेंट एक प्रोग्रामिंग ब्लॉक आहे ज्यामध्ये स्टेटमेन्ट्स कंसात येतात. सशर्त ऑपरेटरचा वापर व्हेरिएबलला मूल्य नियुक्त करण्यासाठी देखील केला जाऊ शकतो, तर 'आयएफ-एलएसई' स्टेटमेंट असाइनमेंटच्या उद्देशाने वापरला जाऊ शकत नाही. स्टेटमेन्ट्स एकाधिक असतात तेव्हा स्टेटमेन्ट्स कार्यान्वित करण्यासाठी हे उपयुक्त नाही, तर एकाधिक स्टेटमेन्ट्स चालवताना 'आयएफ-एल्स' विधान अधिक योग्य असल्याचे सिद्ध होते. नेस्टेड टर्नरी ऑपरेटर अधिक जटिल आहे आणि सहजपणे डीबग केले जाऊ शकत नाही, तर नेस्टेड 'आयएफ-एल्स' विधान वाचणे आणि देखभाल करणे सोपे आहे.

◀ मागील पुढील ▶