निष्पादित करने के बाद अजीब जवाब निम्नलिखित कोड स्निपेट निष्पादित करने के बाद int डी 25 का मूल्य और 26 क्यों नहीं है?एन ++
int n = 20;
int d = n++ + 5;
Console.WriteLine(d);
निष्पादित करने के बाद अजीब जवाब निम्नलिखित कोड स्निपेट निष्पादित करने के बाद int डी 25 का मूल्य और 26 क्यों नहीं है?एन ++
int n = 20;
int d = n++ + 5;
Console.WriteLine(d);
n++
के रूप में व्याख्या की है "पोस्ट-इंक्रिमेंट ऑपरेटर" है, जो के बाद केवल मान बढ़ाता है इसके शुरुआती मूल्य का उपयोग आस-पास की अभिव्यक्ति में किया गया है।
int d = n + 5;
n = n + 1;
, अपने मूल्य इस्तेमाल किया जाता है इससे पहले कि मूल्य को बढ़ा देते ++n
, पूर्व वेतन वृद्धि ऑपरेटर का उपयोग करने के लिए:
आपका कोड के बराबर है।
+1। –
क्योंकि आपको लगता है कि अभिव्यक्ति में वृद्धि की जाती मान का उपयोग करने ++n
उपयोग करने के लिए की जरूरत है।
देखें, अभिव्यक्ति पेड़ में यह n
incrementing नहीं कर रहा है और उसके बाद ही उस मूल्य का उपयोग क्योंकि n++
n
का मान देता है, लेकिन उनका उपयोग अगले अभिव्यक्ति के लिए यह बढ़ा देता है।
हालांकि, ++n
वास्तव में इस अभिव्यक्ति के लिए n
के बढ़ते मूल्य को वापस कर देगा।
इसलिए, n++ + 5
25
पैदा करता है जबकि ++n + 5
26
उत्पन्न करता है।
n++
का मतलब ऑपरेशन के बाद एडिशन निष्पादित करना है, इसलिए पहले डी n+5
के बराबर होगा और फिर n
उठाया जाएगा।
क्योंकि n++
पहले मूल्य प्रदान करेंगे और यात्रा पूरी होने के बाद यह कारण इसकी दे रही है 25
इसलिए thats भी वृद्धि होगी,
int d= n++ + 5;
int d = n + 5;
क्यों डाउनवोट ?????? बराबर surgarless वाक्यविन्यास तोड़ने के लिए – Neel
पोस्टफिक्स व्यक्त
int d = n++ + 5;
जहां संकलक पहले घ करने के लिए मान असाइन उपयोग कर रहे हैं, लेकिन अगले
int d = ++n + 5;
आप करेंगे में गया d'मूल्य 26
++
: पद वेतन वृद्धि ऑपरेटर।
पोस्ट फाई ++ ऑपरेटर का परिणाम ऑपरेंड का मूल्य है।बाद परिणाम प्राप्त किया जाता है, संकार्य के मूल्य
इसलिए वृद्धि की जाती है,
int d= n++ + 5;
ऊपर interpretaion के निष्पादन के बाद
int d = n + 5;
रूप में व्याख्या की है। n
1.
संभावित डुप्लिकेट [++ i और i ++] के बीच अंतर क्या है (http://stackoverflow.com/questions/24853/what-is-the-difference-between-i-and द्वारा बढ़ाया गया है -i) –
यह भी देखें: https://communities.coverity.com/blogs/development-testing-blog/2013/09/24/cc-and-c –