DEV Community

SwagatikaBehera
SwagatikaBehera

Posted on

3

Understanding a++ and ++a

lets define it first:
++a here first variable value increment by 1, then value is assigned.(pre increment)

a++ here value of variable is assigned first, then increment by 1.(post increment)

eg: suppose, a = 5
++a = 1 + 5 = 6
a++ = 5 + 1 = 6
It seem to be same, right!

But Its actual difference can be seen in expression,
lets understand with some steps by taking an expression:
eg: a = 5
x = a++ + ++a
steps:
1) 1st evaluate all the pre Operation.
2) Place variable value.
3) Evaluate post Operation.

first, a = 1 + 5 = 6 (because of ++a in 2nd term, a value incremented to 6 from 5 by 1)

second, x = 6 + 6 = 12 (now a value is 6 which we assigned to x)

third, a = 6 + 1 = 7 (because of a++ in 1st term, a value increment to 7 from 6 by 1)

so, x=12 , a=7

Similarly it will happen with decrement operation,
--a here first variable value decrement by 1, then value is assigned.(pre decrement)

a-- here value of variable is assigned first, then decrement by 1.(post decrement)

eg: a = 6
x = a++ + a--
first, no pre Operation.
Second, x = 6 + 6 = 12 (a value is assigned which is 6).
Third, a = 6 + 1 = 7( because of 1st term a++)
7 + (-1) = 6( because of 2nd term a--)

so, x=12 , a=6

eg: a = 6
x = ++a + a-- + --a - a++ + a++
first, a = 1 + 6 = 7
(-1) + 7 = 6
second, x = 6 + 6 + 6 - 6 + 6 = 18
third, a = 6 + (-1) = 5
5 + 1 = 6
6 + 1 = 7

so, x=18 , a=7

eg: a = 6
x = ++a + --a
first, a = 1 + 6 = 7
(-1) + 7 = 6
second, x = 6 + 6 = 12
third, no post operation.

so, x=12 , a=6

eg: given a = 5
find x, y, a
x = a++
y = ++a

x = 5 (first a value is assigned to x and later a will increment by 1, a = 5 + 1 = 6)
y = 1 + 6 = 7 (here first a value increment by 1 then value is assigned)

so, x=5 , y=7 , a=7

Hope you understand completely!

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay