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 |
What is 2c dna?
struct node { int *a; char *b; char array[12]; }; struct node m,*n; assign the value in *a,*b,char array[12]
question-how to run a c programme.
Distinguish between actual and formal arguments.
what is the use of fflush() function?
What are structure types in C?
Explain the difference between call by value and call by reference in c language?
write a program to generate 1st n fibonacci prime number
what is the difference b/w compiler and debugger?
What is alloca() and why is its use discouraged?
Given a string write a program to print all alphabetical characters in the order of their occurance first,followed by the sum of the numeric characters then followed by the special characters in the order of their occurance.
1 Answers College School Exams Tests, Wipro,
while initialization of two dimensional arrays we can initialize like a[][2] but why not a[2][] is there any reason behind this?