#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 is the acronym for ansi?
What is the use of define in c?
What is #include called?
Explain how can I make sure that my program is the only one accessing a file?
What are the preprocessor categories?
What is calloc()?
Why doesnt long int work?
What are reserved words with a programming language?
Explain what is the difference between functions abs() and fabs()?
What is bubble sort in c?
What is the difference between printf and scanf in c?
Is fortran faster than c?
Can a local variable be volatile in c?
Do array subscripts always start with zero?
Is register a keyword in c?