कुछ समस्याओं में हम पाते हैं कि कुछ प्रिंटफ () स्टेटमेंट में ++ ऑपरेटर के साथ कुछ लाइनें हैं। प्रतियोगी परीक्षाओं के कुछ प्रश्नों में, हम उस कोड के आउटपुट को खोजने के लिए इस तरह के प्रश्न पा सकते हैं। इस खंड में हम उस तरह के प्रश्न का एक उदाहरण देखेंगे और यह पता लगाने की कोशिश करेंगे कि उत्तर क्या होगा।
उदाहरण कोड
#include<stdio.h> int main() { volatile int x = 20; printf("%d %d\n", x, x++); x = 20; printf("%d %d\n", x++, x); x = 20; printf("%d %d %d ", x, x++, ++x); return 0; }
अब हम अनुमान लगाने की कोशिश करेंगे कि आउटपुट क्या होगा। अधिकांश कंपाइलर प्रिंटफ () के प्रत्येक पैरामीटर को दाएं से बाएं ले जाते हैं। तो पहले प्रिंटफ () कथन में, अंतिम पैरामीटर x ++ है, इसलिए इसे पहले निष्पादित किया जाएगा, यह 20 प्रिंट करेगा, उसके बाद मान को 20 से बढ़ाकर 21 कर देगा। अब दूसरा अंतिम तर्क प्रिंट करें, और 21 दिखाएं। अन्य पंक्तियों की गणना भी इसी तरह की जाती है। ++x के लिए, यह मुद्रण से पहले मान को बढ़ा देगा, और x++ के लिए, यह पहले मान को प्रिंट करता है, फिर मान बढ़ाता है।
बेहतर समझ पाने के लिए कृपया आउटपुट की जाँच करें।
आउटपुट
21 20 20 20 22 21 21