C-তে, ++ এবং -- অপারেটরকে বলা হয় ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেটর। তারা একক অপারেটর যাদের শুধুমাত্র একটি অপারেন্ড প্রয়োজন। তাই ++ পাশাপাশি -- অপারেটর একই প্রভাব সহ অপারেন্ডের আগে বা পরে উপস্থিত হতে পারে।
অর্থাৎ i++ এবং ++i উভয়ই সমতুল্য হবে।
i=5; i++; printf("%d",i);
এবং
i=5 ++i; printf("%d",i);
উভয়ই i=6 তৈরি করবে।
যাইহোক, যখন অ্যাসাইনমেন্ট অপারেটরের সাথে ইনক্রিমেন্ট এক্সপ্রেশন ব্যবহার করা হয়, তখন অপারেটরের অগ্রাধিকার ছবিতে আসবে।
i=5; j=i++;
এই ক্ষেত্রে, পোস্টফিক্স ++ থেকে =এর অগ্রাধিকার বেশি। সুতরাং, i বৃদ্ধি করার আগে i-এর মান নির্ধারণ করা হয়। এখানে j হয় 5 এবং i হয় 6।
i=5; j=++i;
এই ক্ষেত্রে, উপসর্গ ++ এর অগ্রাধিকার =অপারেটরের চেয়ে বেশি। তাই আমি প্রথমে ইনক্রিমেন্ট করব এবং বর্ধিত মানটি j-কে বরাদ্দ করা হয়েছে এখানে i এবং j উভয়ই 6 হবে।
#include <stdio.h> int main() { int i=5,j; j=i++; printf ("\nafter postfix increment i=%d j=%d", i,j); i=5; j=++i; printf ("\n after prefix increment i=%d j=%d",i,j); return 0; }
আউটপুট হল
after postfix increment i=6 j=5 after prefix increment i=6 j=6