संचालक वरीयता के अनुसार , अल्पविराम ऑपरेटर की तुलना में कम पूर्वता है operator=, इसलिए x = 2,3;इसके बराबर है (x = 2),3;। (ऑपरेटर पूर्वता यह निर्धारित करता है कि ऑपरेटर अपने तर्क के अनुसार अन्य ऑपरेटरों की तुलना में अपने तर्कों, तंग या शिथिलता के लिए कैसे बाध्य होगा।)
ध्यान दें अल्पविराम अभिव्यक्ति (x = 2),3यहाँ है, नहीं 2,3। x = 2पहले मूल्यांकन किया जाता है (और इसके दुष्प्रभावों को पूरा किया जाता है), फिर परिणाम को छोड़ दिया जाता है, फिर 3मूल्यांकन किया जाता है (यह वास्तव में कुछ भी नहीं करता है)। इसलिए मूल्य xहै 2। ध्यान दें कि 3संपूर्ण अल्पविराम अभिव्यक्ति (यानी x = 2,3) का परिणाम है , इसे असाइन करने के लिए उपयोग नहीं किया जाएगा x। (इसे बदलें x = (2,3);, के xसाथ सौंपा जाएगा 3)
के लिए return 2,3;, अल्पविराम अभिव्यक्ति का मूल्यांकन किया जाता है 2,3, 2फिर उसके परिणाम को छोड़ दिया जाता है, और फिर 3मूल्यांकन किया जाता है और पूरे अल्पविराम अभिव्यक्ति के परिणाम के रूप में लौटा दिया जाता है, जो बाद में रिटर्न स्टेटमेंट द्वारा वापस किया जाता है ।
अभिव्यक्ति और विवरण के बारे में अतिरिक्त जानकारी
एक अभिव्यक्ति ऑपरेटरों और उनके ऑपरेंड का एक क्रम है, जो एक संगणना निर्दिष्ट करता है।
x = 2,3;है अभिव्यक्ति बयान , x = 2,3यहाँ अभिव्यक्ति है।
अर्धविराम के बाद एक अभिव्यक्ति एक बयान है।
वाक्य - विन्यास: attr(optional) expression(optional) ; (1)
return 2,3;है कूद बयान ( वापसी कथन ), 2,3अभिव्यक्ति यहाँ है।
वाक्य - विन्यास: attr(optional) return expression(optional) ; (1)