কিছু সমস্যায় আমরা কিছু 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