Question
Download Solution PDFC में सशर्त ऑपरेटर (? :) की क्या सीमा है?
Answer (Detailed Solution Below)
Detailed Solution
Download Solution PDFव्याख्या:
C में सशर्त ऑपरेटर (?:) एक तृतीयक ऑपरेटर है जिसका उपयोग किसी शर्त का मूल्यांकन करने और यह निर्धारित करने के लिए किया जाता है कि शर्त सत्य है या असत्य, उसके आधार पर दो मानों में से एक मान लौटाता है। इसका उपयोग अक्सर if-else कथन के संक्षिप्त रूप के रूप में किया जाता है, खासकर जब किसी शर्त के आधार पर मान निर्धारित किए जाते हैं। सशर्त ऑपरेटर का सिंटैक्स इस प्रकार है:
शर्त ? व्यंजक1 : व्यंजक2
यहाँ, यदि शर्त सत्य का मूल्यांकन करती है, तो व्यंजक1 का मूल्यांकन किया जाता है और लौटाया जाता है; अन्यथा, व्यंजक2 का मूल्यांकन किया जाता है और लौटाया जाता है।
सही विकल्प विश्लेषण:
सही उत्तर है:
विकल्प 3: ? और : के बाद केवल एक ही कथन की अनुमति है।
इस सीमा का मतलब है कि सशर्त ऑपरेटर में ? और : के बाद केवल एक ही व्यंजक लिखा जा सकता है। इसमें सीधे कई कथन या कोड का एक ब्लॉक नहीं हो सकता है। उदाहरण के लिए:
int a = 10, b = 20;
int max = (a > b) ? a : b;
इस उदाहरण में, सशर्त ऑपरेटर जाँच करता है कि क्या a, b से अधिक है। यदि सत्य है, तो यह a लौटाता है; अन्यथा, यह b लौटाता है। ध्यान दें कि ? और : के बाद, केवल एक ही व्यंजक (या तो a या b) की अनुमति है।
कई कथनों को शामिल करने के लिए, आपको सशर्त ऑपरेटर के बजाय if-else संरचना का उपयोग करने की आवश्यकता होगी। उदाहरण के लिए:
if (a > b) {
max = a;
}
else {
max = b;
}
सशर्त ऑपरेटर की एकल व्यंजकों तक सीमा कभी-कभी रचनात्मक उपायों या अधिक विस्तृत लेकिन स्पष्ट संरचनाओं जैसे if-else कथनों के चुनाव की आवश्यकता को जन्म दे सकती है।
Additional Information
विश्लेषण को और समझने के लिए, आइए अन्य विकल्पों का मूल्यांकन करें:
विकल्प 1: इसे नेस्ट नहीं किया जा सकता है।
यह विकल्प गलत है। सशर्त ऑपरेटर को वास्तव में नेस्ट किया जा सकता है, हालांकि यह ऐसे कोड को जन्म दे सकता है जो पढ़ने और बनाए रखने में मुश्किल है। सशर्त ऑपरेटर को नेस्ट करने का एक उदाहरण है:
int result = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
यह नेस्टेड सशर्त ऑपरेटर जाँच करता है कि तीन चर a, b और c में से कौन सबसे बड़ा है और इसे परिणाम में असाइन करता है।
विकल्प 2: इसे केवल पूर्णांक मानों के साथ ही प्रयोग किया जा सकता है।
यह विकल्प गलत है। सशर्त ऑपरेटर का उपयोग विभिन्न डेटा प्रकारों के साथ किया जा सकता है, न कि केवल पूर्णांकों के साथ। इसका उपयोग फ्लोटिंग-पॉइंट संख्याओं, वर्णों, पॉइंटर्स और यहां तक कि उपयोगकर्ता द्वारा परिभाषित प्रकारों जैसे संरचनाओं और वर्गों के साथ किया जा सकता है। उदाहरण के लिए:
float x = 5.5, y = 2.3;
float min = (x < y) ? x : y;
इस मामले में, सशर्त ऑपरेटर का उपयोग फ्लोटिंग-पॉइंट संख्याओं के साथ x और y के बीच छोटे मान को निर्धारित करने के लिए किया जाता है।
विकल्प 4: इसे पाश के अंदर उपयोग नहीं किया जा सकता है।
यह विकल्प गलत है। सशर्त ऑपरेटर का उपयोग पाश के अंदर किया जा सकता है, ठीक उसी तरह जैसे किसी अन्य व्यंजक का। उदाहरण के लिए, एक पाश में जो किसी सरणी में अधिकतम मान ज्ञात करता है:
int max = arr[0];
for (int i = 1; i < n; ++i) {
max = (arr[i] > max) ? arr[i] : max;
}
इस उदाहरण में, सरणी में पाए गए अधिकतम मान को अद्यतन करने के लिए सशर्त ऑपरेटर का उपयोग for पाश के भीतर किया जाता है।
Last updated on Jun 7, 2025
-> RRB JE CBT 2 answer key 2025 for June 4 exam has been released at the official website.
-> Check Your Marks via RRB JE CBT 2 Rank Calculator 2025
-> RRB JE CBT 2 admit card 2025 has been released.
-> RRB JE CBT 2 city intimation slip 2025 for June 4 exam has been released at the official website.
-> RRB JE CBT 2 Cancelled Shift Exam 2025 will be conducted on June 4, 2025 in offline mode.
-> RRB JE CBT 2 Exam Analysis 2025 is Out, Candidates analysis their exam according to Shift 1 and 2 Questions and Answers.
-> The RRB JE Notification 2024 was released for 7951 vacancies for various posts of Junior Engineer, Depot Material Superintendent, Chemical & Metallurgical Assistant, Chemical Supervisor (Research) and Metallurgical Supervisor (Research).
-> The selection process includes CBT 1, CBT 2, and Document Verification & Medical Test.
-> The candidates who will be selected will get an approximate salary range between Rs. 13,500 to Rs. 38,425.
-> Attempt RRB JE Free Current Affairs Mock Test here
-> Enhance your preparation with the RRB JE Previous Year Papers.