मैं थोड़ा उलझन में हूं कि कैसे सी # कंपाइलर पूर्व-और वृद्धि और कमी पोस्ट करता है।सी # प्री- और पोस्ट वृद्धि भ्रम
जब मैं निम्नलिखित कोड:
int x = 4;
x = x++ + ++x;
x
मूल्य 10 बाद में होगा। मुझे लगता है कि ऐसा इसलिए है क्योंकि प्री-एन्हांसमेंट x
से 5
सेट करता है, जो इसे 5+5
बनाता है जो 10
का मूल्यांकन करता है। फिर पोस्ट-वृद्धि x
6
पर अपडेट हो जाएगी, लेकिन इस मान का उपयोग नहीं किया जाएगा क्योंकि 10
को x
पर असाइन किया जाएगा।
लेकिन जब मैं कोड:
int x = 4;
x = x-- - --x;
तो x
2
बाद में किया जाएगा। क्या कोई यह समझा सकता है कि यह मामला क्यों है?
शानदार सवाल! और हमने कभी भी ऐसा कोड नहीं सीखा है जिसे आप सोच सकते हैं कि यह क्या कर सकता है, लेकिन यह क्या करेगा। – RvdK
कोई भी जो इस तरह के कोड लिखता है उसे बाहर निकाला और गोली मार दी जानी चाहिए। 'X = x ++ +++ x;' ... के लिए कोई बहाना नहीं है। –
यह सिर्फ एक "अकादमिक" प्रश्न था - मैं इस तरह के कोड को कभी भी नहीं लिखूंगा :-) – Schweder