"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > C++ में ऑपरेंड के मूल्यांकन का क्रम अनिर्दिष्ट क्यों है?

C++ में ऑपरेंड के मूल्यांकन का क्रम अनिर्दिष्ट क्यों है?

2024-11-08 को प्रकाशित
ब्राउज़ करें:648

Why is the Order of Evaluation of Operands Unspecified in C  ?

सी में ऑपरेंड के मूल्यांकन का क्रम

गणितीय अभिव्यक्तियों में, ऑपरेंड के मूल्यांकन का क्रम अक्सर तय माना जाता है। हालाँकि, C जैसी प्रोग्रामिंग भाषाओं में, मूल्यांकन का क्रम अनिर्दिष्ट हो सकता है, जिससे अप्रत्याशित परिणाम मिल सकते हैं।

अभिव्यक्ति a b पर विचार करें। इस अभिव्यक्ति में, ऑपरेंड ए और बी का मूल्यांकन किसी भी क्रम में किया जा सकता है। इसे "मूल्यांकन के अनिर्दिष्ट क्रम" के रूप में जाना जाता है।

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

उदाहरण के लिए, निम्नलिखित कोड पर विचार करें:

int main() {
  int a = 1;
  int b = 2;
  int c = a   b;
  printf("%d", c);
  return 0;
}

इस कोड में, ए और बी के मूल्यांकन का क्रम अनिर्दिष्ट है। कंपाइलर पहले ए या बी का मूल्यांकन कर सकता है। मूल्यांकन के क्रम के आधार पर अभिव्यक्ति a b का परिणाम 3 या 4 हो सकता है।

अनिश्चित मूल्यांकन क्रम आपके कोड में बग पैदा कर सकता है। पूर्वानुमानित व्यवहार सुनिश्चित करने के लिए, आपके द्वारा उपयोग किए जा रहे विशिष्ट ऑपरेटरों और अभिव्यक्तियों के मूल्यांकन के क्रम को समझना महत्वपूर्ण है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3