কম্পিউটার টিউটোরিয়াল

C-এ ++i এবং i++-এর পার্থক্য কী?


C-এ, ++ এবং -- অপারেটরগুলোকে ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেটর বলা হয়। এগুলো ইউনারি অপারেটর যেগুলো শুধু একটি অপেরেন্ড নেয়। অতএব ++ و -- অপারেটর অপেরেন্ডের আগে বা পরে একই প্রভাব ফেলে।

অর্থাৎ i++ এবং ++i উভয়ই সমতুল্য।

i=5; i++; printf("%d",i);

এবং

i=5; ++i; printf("%d",i);

দুইটো i=6 করবে।

তবে, যখন ইনক্রিমেন্ট এক্সপ্রেশন অ্যাসাইনমেন্ট অপারেটরের সাথে ব্যবহার করা হয়, তবে অপারেটর প্রেসিডেন্স বিবেচনায় আসে।

i=5; j=i++;

এই কেসে, =-এর প্রেসিডেন্স পোস্টফিক্স ++-এর চেয়ে বেশি। তাই i-এর মান j-এ অ্যাসাইন হয় i ইনক্রিমেন্ট হওয়ার আগে। এখানে j হয় 5 এবং i হয় 6।

i=5; j=++i;

এই কেসে, প্রিফিক্স ++-এর প্রেসিডেন্স = অপারেটরের চেয়ে বেশি। তাই 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

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

  2. C#-তে int এবং Int32-এর পার্থক্য

  3. C#-এ List এবং Dictionary-এর পার্থক্য

  4. C#-এ ইন্টারফেস (Interface) এবং ক্লাস (Class) এর পার্থক্য