আমরা প্রথমে একটা কোড স্নিপেট দেখি । 




#include 

int main(){
 int a=1;
 printf("%d%d",a++,++a);
 return 0;
} 

Output :  23

এর আউটপুট ২,৩ কেন ? এ ধরনের স্টেট্মেন্ট এ সব সময় রাইট টু লেফট কাজ করবে , তার মানে প্রথমে ++a এবং a++  কাজ করবে a  এর ইনিশিয়াল  মান ১। তাহলে ++a  মান হয়ে গেল ২ । আবার এই ২ মান নিয়ে a++ এর কাছে যাবে । ইনিশিয়াল ভালুএ ২ ই থাকবে কিন্তু পরে ১ বেড়ে গিয়ে ৩ হবে, কিন্তু প্রিন্ট ২ ই হবে । তাহলে a  এর মাক্স মান হচ্ছে ৩ , প্রি ইঙ্ক্রিমেন্ট এর কাজ হচ্ছে ইভালুয়েশন শেষে মাক্স ভালুএ টাই বসবে , তাহলে ++a এর মান হবে ৩ । 

তাহলে ফাইনাল আউটপুট হল ঃ ২,৩


আমরা আরও একটি উদাহরণ দেখি , 




#include 
int main() {
    int a=1;
    printf("%d%d%d%d",a++,a++,++a,a++);
    return 0;
}

output: 4351

....

এখন আমরা একটু দেখি কিভাবে আউটপুট ৪৩৫১ হল । 

আমরা জানি এটা রাইট টু  লেফট  কাজ করে । তাহলে , a++ এ আসবে , এটি যেহেতু পোস্ট ইঙ্ক্রিমেন্ট সুতরাং

এর মান ১ ই থাকবে এবং পরে ১ ইঙ্ক্রিমেন্ট হবে । এর পরে আসবে ++a এর কাছে, যেহেতু ১ ইঙ্ক্রিমেন্ট হয়ে a এর মান এখন ২ । আর ++a হল প্রি ইনক্রিমেন্ট তাই আগেই ভ্যালু বেড়ে যাবে । সুতরাং a এর ভেলু এখন ৩ । এর পরে a++ , তারমানে পরে ভ্যালু ইনক্রিমেন্ট হবে । ৩ ই থাকবে । এর পরে a++ , এখন a++ এর ভ্যালু ৪ হবে এবং পরে ইনক্রিমেন্ট হবে । এখন আউটপুট বের করার পালা । 

এখন প্রথমে আমাদের দেখতে হবে a এর ম্যাক্স ভ্যালু কত? আমরা দেখতে পাচ্ছি a এর ম্যাক্স ভ্যালু ৫ । আর এই ৫ বসবে যত গুলা প্রি ইঙ্ক্রিমেনট আছে । তাহলে , আউটপুট দাড়ায় , ৪৩৫১