main()
{int i=5; // line 1
i=(++i)/(i++); // line 2
printf("%d",i); // line 3
} output is 2 but if we replace line 2 and line 3 by
printf("%d",i=(++i)/(i++)); then output is 1. Why?
Answer / gagandeep bansal
working of incr/decr operator:first pre operators then
rest of operators then post operators
so,2 line become:i=6/(5++); /*pre operator*/
i=6/5=1; /*rest of operators*/
now post incr operator will work so,i=2; /*post operator*/
so output is 2.
in second case:i=6/(5++); /*pre operator*/
i=6/5==1; /*rest of operators*/
now post incr operator will work so,i=2;
again i=3/(2++);
i=1;
so,output is 1.
becouse in case of post operators first assign then
incr/decr.
| Is This Answer Correct ? | 9 Yes | 3 No |
Is it possible to run a c program without using main?If yes HOW??
a=5 a=a++/++a
Why c is faster than c++?
Write a program in C for showing working of different logical operator in C. Your program should guide users with proper message/menu on the console.
What are the advantages and disadvantages of a heap?
How would you obtain the current time and difference between two times?
Write a program that an operator and two operands read from input operand operator on the implementation and results display.
How can you restore a redirected standard stream?
How do you define a string?
What does typeof return in c?
Explain enumerated types in c language?
What is c mainly used for?