कुछ समस्याओं में हम कुछ printf() स्टेटमेंट पा सकते हैं जिनमें ++ ऑपरेटर वाली लाइनें होती हैं। प्रतियोगी परीक्षाओं के कुछ प्रश्नों में, हम उस कोड का आउटपुट खोजने के लिए इस तरह के प्रश्न पा सकते हैं। इस सेक्शन में हम उस तरह के प्रश्न का एक उदाहरण देखेंगे और यह पता लगाने की कोशिश करेंगे कि उत्तर क्या होगा।
उदाहरण कोड
#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; }
अब हम अनुमान लगाने की कोशिश करेंगे कि आउटपुट क्या होगा। अधिकांश कंपाइलर printf() के प्रत्येक पैरामीटर को दाएं से बाएं लेते हैं। इसलिए पहले printf() स्टेटमेंट में, अंतिम पैरामीटर x++ है, इसलिए यह पहले निष्पादित होगा, यह 20 प्रिंट करेगा, उसके बाद मान को 20 से 21 तक बढ़ा देगा। अब दूसरे अंतिम आर्गुमेंट को प्रिंट करें, और 21 दिखाएं। अन्य लाइनें भी इसी तरीके से गणना की जाती हैं। ++x के लिए, यह प्रिंट करने से पहले मान बढ़ाएगा, और x++ के लिए, यह पहले मान प्रिंट करता है, फिर मान बढ़ाता है।
बेहतर समझ के लिए आउटपुट देखें।
आउटपुट
21 20 20 20 22 21 21