मैं सिर्फ एक व्यवहार जो मुझे हैरान कर दिया पर ठोकर खाई त्रुटियों के बिना संकलित करता है। उपर्युक्त मामले में एक्स 1 बाद में है। ध्यान दें कि पिछली घोषणा द्वारा दायरे में कोई चर एक्स नहीं है।प्रारंभ में हाल में घोषित चर का उपयोग करना (int x = x + 1)?</p> <p>जब लेखन:: - कार्यक्रम (या और भी जटिल अभिव्यक्ति को शामिल नव निर्मित चर x) मेरी जीसीसी/जी ++</p> <pre><code>int x = x+1; </code></pre> एक सी में/C++ <p>
तो मुझे पता है कि यह सही व्यवहार मेरी जीसीसी संस्करण या सामान्य रूप में जीसीसी के साथ या सिर्फ एक पार्सर pecularity (कुछ स्थिति में उपयोगी हो सकता है और यहां तक कि) है कि क्या करना चाहते हैं।
Btw: निम्नलिखित काम नहीं करता:
int x++;
पढ़ने के लिए मेरा मानना है कि एक्स जीसीसी से 0 के लिए शुरू हो रही है, लेकिन आप के रूप में मानक के लिए पूछता है कि नहीं करता है इस व्यवहार पर भरोसा नहीं कर सकते कर सकते हैं। यह कुछ सिस्टमों पर कचरा हो सकता है। – vidit
@EdHeal: नहीं, मैंने चेतावनी को सक्षम नहीं किया था और नहीं --ansi, लेकिन दोनों स्थिति को नहीं बदलते हैं (कोई चेतावनी जारी नहीं है) –
एक संबंधित, कानूनी (लेकिन असामान्य) उपयोग है: 'नोड सरलग्राफ = नोड (और सरलग्राफ) ; 'एक नोड के साथ एक ग्राफ बनाने के लिए चक्रीय रूप से जुड़े हुए हैं। या यहां तक कि वीरडर, 'int x = sizeof (x); '। – MSalters