main()
{
int i=5;
printf("%d%d%d%d%d%d",i++,i--,++i,--i,i);
}
Answers were Sorted based on User's Feedback
Answer / abdul ahad
45545
because the expiration will executed from right to left and will print from left to right.
at the execution time from right i=5,--i=4,++i=5,i--=5 then decremented to4,now i++=4 ,then incremented to 5.
So the output will be left to right 45545
| Is This Answer Correct ? | 105 Yes | 60 No |
Answer / prashant nair
Ans: It really much more depend on compiler.
The logic/rules made should take us to the answer 45545 but compiler does also give answer as 45555 :O
source:
http://code.hackerearth.com/bddbb9e
http://ideone.com/t5fbbd
| Is This Answer Correct ? | 45 Yes | 9 No |
Answer / susie
Answer :
45545
Explanation:
The arguments in a function call are pushed into
the stack from left to right. The evaluation is by popping
out from the stack. and the evaluation is from right to
left, hence the result.
| Is This Answer Correct ? | 21 Yes | 11 No |
Answer / rishit
And will be
4 5 5 4 5 and 1 garbage value as there are
6 %d in printf statement
| Is This Answer Correct ? | 7 Yes | 2 No |
Answer / moschops
This is UNSPECIFIED BEHAVIOUR. It's possible to work out exactly what your particular compiler decided to do this one particular time, but other compilers are free to do it differently (and probably will). Put the code into some different compilers and you'll see different results. The order that parameters are evaluated is unspecified and left up to the compiler.
If you can explain what the compiler happens to do this one particular time, that's nice but completely useless, but anyone who actually wrote code like this should be fired.
| Is This Answer Correct ? | 10 Yes | 6 No |
Answer / dharmendra
(i++,i--,++i,--i,i)
(4 , 5, 5 , 4 ,5)
explanation:
executed from right to left
and
print left to right.
| Is This Answer Correct ? | 11 Yes | 7 No |
main() { int i=-1,j=-1,k=0,l=2,m; m=i++&&j++&&k++||l++; printf("%d %d %d %d %d",i,j,k,l,m); }
#define clrscr() 100 main() { clrscr(); printf("%d\n",clrscr()); }
write a c program to Create employee record by taking details like name, employee id, address and phone number. While taking the phone number, take either landline or mobile number. Ensure that the phone numbers of the employee are unique. Also display all the details
how to test pierrot divisor
how to return a multiple value from a function?
how can u draw a rectangle in C
53 Answers Accenture, CO, Codeblocks, Cognizant, HCL, Oracle, Punjab National Bank, SAP Labs, TCS, University, Wipro,
main() { int x=5; clrscr(); for(;x<= 0;x--) { printf("x=%d ", x--); } } a. 5, 3, 1 b. 5, 2, 1, c. 5, 3, 1, -1, 3 d. –3, -1, 1, 3, 5
#include<conio.h> main() { int x,y=2,z,a; if(x=y%2) z=2; a=2; printf("%d %d ",z,x); }
how to return a multiple value from a function?
What is the output of the program given below main() { signed char i=0; for(;i>=0;i++) ; printf("%d\n",i); }
Write a Program in 'C' To Insert a Unique Number Only. (Hint: Just Like a Primary Key Numbers In Database.) Please Some One Suggest Me a Better Solution for This question ??
How to return multiple values from a function?