#include<stdio.h>
int main()
{
int i=2;
int j=++i + ++i + i++;
printf("%d\n",i);
printf("%d\n",j);
}
Answer Posted / sanjay
i = 5
j = 11
It is because during the first pre-increment "++i" the compiler gets the value from the memory, increments it and stores it in the memory ie now i = 3. During the second pre-increment "++i" the compiler again gets the value from the memory, increments it, (value in the memory was 3) and so the incremented value is stored again in memory ie i = 4. during the post increment, the value from the memory is received and used in the statement ie) (the whole final statement looks like this ->>( 3 + 4 + 4) ) and then value of i is incremented and stored in memory. thus finally the value of i is 5 and j is 11.
| Is This Answer Correct ? | 2 Yes | 0 No |
Post New Answer View All Answers
What are the different types of constants?
Explain what are multidimensional arrays?
What is c language used for?
Can I use base-2 constants (something like 0b101010)? Is there a printf format for binary?
Why & is used in scanf in c?
What is function what are the types of function?
Why is sizeof () an operator and not a function?
Explain what is page thrashing?
why we wont use '&' sing in aceesing the string using scanf
Why isnt there a numbered, multi-level break statement to break out
Difference between pass by reference and pass by value?
Why is c called c not d or e?
what is the different bitween abap and abap-hr?
What are the properties of union in c?
What will be the outcome of the following conditional statement if the value of variable s is 10?