কম্পিউটার

সি-তে ++i এবং i++ এর মধ্যে পার্থক্য কী?


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

No
  1. DirectX 11 এবং DirectX 12-এর মধ্যে পার্থক্য কী?

  2. C# এ int এবং Int32 এর মধ্যে পার্থক্য কী?

  3. C# এ তালিকা এবং অভিধানের মধ্যে পার্থক্য কী?

  4. C# এ একটি ইন্টারফেস এবং একটি ক্লাসের মধ্যে পার্থক্য কী?