संचालक वरीयता के अनुसार , अल्पविराम ऑपरेटर की तुलना में कम पूर्वता है 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)