void main()
{
int i=5;
printf("%d",i++ + ++i);
}
Answers were Sorted based on User's Feedback
Answer / ishrat ali
the calculate of any expression can be done from left to
right,so first i++ compute it means 1st use then increment 5
is used in place of i++ and after using the value of i
increment that is 6.
after that ++i is used that is 1st increment then use in the
expression so now ++i is replaced by 7;
finally 6+7=12 (ans)
Is This Answer Correct ? | 1 Yes | 0 No |
Answer / veeraselvi.g
ans:12
explan:i++ means increment for 6 bt print will be 5;
other i++ for 6 to increment for 7
so ans is 12
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / poseidon
I might agree with ANS #1 because side effects are
involved..The expected answer might not be getting always
although in case of printf(), the arguments are evaluated
from RTL. For example consider the case
int i=10;
printf("%d %d %d %d",i++,--i,i--,--i);
Try some variations of these and and find out whether you
are able to get correctly or not..
In case the result depends on the compiler,for
verification,I will add what my compiler gave me
ANS:7 8 9 8
If anyone find out,pls reply.. Keen to know..
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / buvaneswari
as already told,the precedence wil be from right to left..
so i++ the value wil be still 5 and incremented value wil be stored in memory..
and next ++i now the value of i=5 not considering the memory value...so ++i =6...now the new value of i is 6.this wil be replaced the value 5 in the memory
u can see the expression as i+i in default or consider to be
i=i++ and i=++i....so i+i(ie)6+6=12....
Is This Answer Correct ? | 0 Yes | 1 No |
Answer / pnkj rajput@kiit,bbsr
Ans. is
12
because
(first check) i++ (no change in the value of 'i' so i=5)
(second check) ++i ('i' increase by 1 so, i=6)
Now, in this the value of 'i' is 6
so, 6 + 6 = 12
Is This Answer Correct ? | 0 Yes | 1 No |
Answer / surenda pal singh chouhan
Output Cannot be predicted exactly.
Explanation:
Side effects are involved in the evaluation of i
Is This Answer Correct ? | 13 Yes | 15 No |
How to declare a variable?
Would you rather wait for the results of a quicksort, a linear search, or a bubble sort on a 200000 element array? 1) Quicksort 2) Linear Search 3) Bubble Sort
Are negative numbers true in c?
how to find out the reverse number of a digit if it is input through the keyboard?
How the C program can be compiled?
what is the output of the program?? #include<stdio.h> main ( ) { int a=010,sum=0,tracker: for(tracker=0;tracker<=a;tracker++) sum+=tracker; printf(ā %d\nā,sum); } what is the difference between a=10 and a=010??
Can we use any name in place of argv and argc as command line arguments?
Explain can static variables be declared in a header file?
Write a program to check armstrong number in c?
suppose there are five integers write a program to find larger among them without using if- else
Difference between Shallow copy and Deep copy?
What is the purpose of void in c?