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 the purpose of the preprocessor directive error?
plz answer..... a program that reads non-negative integer and computes and prints its factorial
How can a program be made to print the line number where an error occurs?
main(){char *str;scanf("%s",str);printf("%s",str); }The error in the above program is: a) Variable 'str' is not initialised b) Format control for a string is not %s c) Parameter to scanf is passed by value. It should be an address d) none
write a program that will accept two integers and will implement division without using the division operator if the second value is an odd number and will implement multiplication without using multiplication operator if the second value is an even number.
the statement while(i) puts the entire logic in loop. this loop is called a) indefinite loop b) definite loop c) loop syntax wrong d) none of the above
What is bss in c?
what is output of the following statetment?Printf(“%x”, -1<<4); ?
How many types of sorting are there in c?
why Language C is plateform dependent
my name is nani i completed my b-tech in hyd now i want go for interveiw but i dont know the process of software field interveiws plz help me anyone how many rouds there n what rounds plz plz plz help me n where i can get these details
what will be the result of the following program ? char *gxxx() { static char xxx[1024]; return xxx; } main() { char *g="string"; strcpy(gxxx(),g); g = gxxx(); strcpy(g,"oldstring"); printf("The string is : %s",gxxx()); } a) The string is : string b) The string is :Oldstring c) Run time error/Core dump d) Syntax error during compilation e) None of these