#include<stdio.h>
int main()
{
int i=2;
int j=++i + ++i + i++;
printf("%d\n",i);
printf("%d\n",j);
}
Answers were Sorted based on User's Feedback
Answer / gaurav
Please use gcc compiler....u will get answer 1,i.e. 5 and 12
| Is This Answer Correct ? | 10 Yes | 3 No |
Answer / rajesh kumar mahto
i=5 and j=11 (100% correct answer)
this is because
j=5+4+2(right to left execution)
i=5 due to latest updation of i.
| Is This Answer Correct ? | 9 Yes | 5 No |
Answer / kailas.s.patil
i = 2;
first ++i = 3.
second ++i = 4.
third i++ = 5;
now i =5;
then, j = 3 + 4 + 5 = 12
| Is This Answer Correct ? | 4 Yes | 1 No |
Answer / kapil
i=5
j=11
j=3+4+4; (i++ post increment)
after this step i value become 5(i++)
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / 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 |
Answer / vadim g
i=5 and j=12
Here is the sequence of operations:
1. i = 2 => result i = 2
2. first ++i => result: i = 3
3. second ++i => result: i = 4
4. j assignment => result: j = 4 + 4 + 4 = 12
5. i post increment => i = 5
MSVC++ gives 5 and 12.
| Is This Answer Correct ? | 4 Yes | 3 No |
convert 12345 to 54321 withoutusing strig
Is malloc memset faster than calloc?
how to set Nth bit of variable by using MACRO
If the static variable is declared as global, will it be same as extern?
What is the need of structure in c?
in a town the percentage of men is 52 the percentage of total literacy is 48 if total percentage of literate men is 35 of the total population write a program to find the total no of the literate men and women if the population of the town is 80000
What is pass by value in c?
Program to find largest of three numbers without using comparsion operator?
Write a program to swap two numbers without using a temporary variable?
Which of these functions is safer to use : fgets(), gets()? Why?
What is the difference between a structure and a union?
what are the static variables
8 Answers HCL, iFlex, TCS, Wipro,