Hello and welcome to our community! Is this your first visit?
Enjoy an ad free experience by logging in. Not a member yet? Register.

1. ## Simple c program-please explain output.

Code:
```int main()
{
int a=7, t=0;
t=--a+--a+a+++a;
printf("%d",t);
}```
output: 20

I could not understand why it prints '20' ? please explain it !

2. a=7
t=(--a)+(--a)+(a++)+a;
=6 + 6 + 0 + 8 = 20

a++ becomes 0 in that situation for some reason which I do not understand

3. I believe the pre-decrement (or increment) will happen entirely before the final calculation. The post-increment (or decrement) will happen after the calculation. Thus:

a=7;
two decrements happen first and a=5 and the increment happens after the calculation;
so: 5 + 5 + 5 + 5 = 20.

The value of 'a' after the calculation is a=6.

t=--a+--a+a+++a+++a;
the value of t=25 (5+5+5+5+5) and a=7.

4. You are essentially doing this-

Code:
```int main()
{
int a=7, t=0;
--a;
--a;

t=a;
t+=a;
t+=a;
t+=a;

a++;

printf("%d",t);
}```

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•