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 |
#include<stdio.h> #include<conio.h> # define swap(a,b) temp=a; a=b; b=temp; void main( ) { int i, j, temp; i=5; j=10; temp=0; if( i > j) swap( i, j ); printf( "%d %d %d", i, j, temp); }
What is chain pointer in c?
what are bps & baud rates? differentiate these two?
What are reserved words with a programming language?
Explain how can you check to see whether a symbol is defined?
WHAT IS RTGS N MINIMUM AMT TO B TRANSFERD N WHAT R THE CHARGES ON MINIMUM AMT N IN WHICH BANK WE CAN DO IT?
progrem to generate the following series 1 12 123 1234 12345
What is the difference between far and near ?
what is volatile in c language?
9 Answers Cap Gemini, HCL, Honeywell, TCS, Tech Mahindra,
declare afunction pointer to int printf(char *)?
How do we swap or interchange any 2 numbers without using Temporary variable...Anybody can pls answer it.. Thanks in Advance
what is the self-referential structure?