Home  • Programming • PHP

Post and pre increment (i++ ও ++i) -এর মধ্যে পার্থক্য কী?

Example : 1

ধরলাম i,D দুটি চলক (Variable) । i=5. যদি আমি D= i++ লিখে D এর মান প্রিন্ট করি তাহলে দেখব D=5। আর যদি D = ++i লিখে আমি D এর মান প্রিন্ট করি তাহলে D=6 দেখব। এখান থেকে বুঝা যায় যে i++ লিখলে i এর বর্তমান মান(i=5) সে রিটার্ন করে,তারপর i এর মান এক বাড়িয়ে নেই (i=6 হয়ে যায়)। আর ++i লিখলে i প্রথমে নিজের মান ১ বাড়িয়ে নেই(i=6 হয়ে যায়) এরপর সে সেই মানটি ব্যবহার করে।

Example : 2

++ হচ্ছে increment operator. যদি Increment operator কে কোন অপারেন্ডের সামনে (i++) অর্থাত্‍ Postfix হিসেবে ব্যবহার করা হয়, তাহলে কম্পাইলার প্রোগ্রামে প্রথমে অপারেন্ডের পুরনো মানটা ব্যবহার করবে এবং পরে এক যোগ করবে। কিন্তু increment operator কে যদি অপারেন্ডের পেছনে (++i) অর্থাত্‍ prefix হিসাবে ব্যবহার করা হয় তাহলে কম্পাইলার প্রথমে অপারেন্ডের পুরনো মানের সাথে এক যোগ করবে এবং যোগফল প্রোগ্রামে ব্যবহার করবে। যেমনঃ
include<stdio.h>
int main()

{

int i=1, j=2;

printf("%d %d /n",j,j=i++);

printf("%d %d/n",++i,++j);

return 0;

}

Example : 3

‪#‎include‬ <stdio.h>
void main()
{
    int a;
    a=5;
    a+=(++a)+(a++);
    printf("%d",a);
}
Explanation: prefix operator: (++a)=a+1=a ; postfix operator: (a++)=a=a+1 ; a+=b means a=a+b . Firstly , value is assigned a=5, after that ++a means a+1=5+1=6. Right now a value is 6. Next a++ is postfix which means first 'a' is being returned and then 'a' is being incremented. So a returned 6 and than increment 6+1=7 and keep this value in memory. Now (++a)+(a++)=6+6=12. Lastly a+=12 means a=a+12. Do you remember that, at the last time 'a' increment value and keep in their memory a=7. Now a=a+12=7+12=19.

Comments 0


Share

About Author
Mir  Samsuzzoha
Copyright © 2024. Powered by Intellect Software Ltd