#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 |
What is hashing in c language?
print the table 5 in loops
sqrt(x+sqrt(x+sqrt(x+sqrt(x))))=2; Find the value of x?
what is a static function
Write a program on swapping (100, 50)
What is ctrl c called?
What is the right type to use for boolean values in c?
Which header file is essential for using strcmp function?
How do I access command-line arguments?
How do we print only part of a string in c?
write a program that uses point of sale system. which are mainly used by retail markets, where the is a database inventory list, a slip should be printed for the customer. manage should be able to access what has been sold and what is left from stock?
disply the following menu 1.Disply 2.Copy 3.Append; as per the menu do the file operations 4.Exit