what is the output for this question:
main()
{
int i=1;
printf("%d%d%d",i,i++,++i);
}
Answers were Sorted based on User's Feedback
Answer / rama krishna sidhartha
3,2,2 is the correct output. Because the the associativity
of ++ operator is from right to left.
since i=1
++i = 2(since it is a preincrement operator it is
incremented before printing the value)
i++ = 2(since it is a postincrement operator it is
incremented after printing the value)
i = 3
so it is displayed like 3,2,2.
| Is This Answer Correct ? | 8 Yes | 0 No |
Answer / r.aruna
answer is 3,2,2
because print the value form right to left.
so,the first one ++i means preincrement.
so,incremented one,2
second one is i++ means postincrement .
it doesn't increment store in same location
but next i means 3.because move to next location
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / sumalatha
Ans is 2 2 2
because in printf assosiativity is from left to right
first pre increments i that becomes 2 next post increment
is done after printf stmt so prints 2 again, then simple
print i i.e 2again
last post increnent which i becomes 3 but that is done
after printf stmt
| Is This Answer Correct ? | 1 Yes | 4 No |
What is stack in c?
Program to find larger of the two numbers without using if-else,while,for,switch
wap in c to accept a number display the total count of digit
What are different storage class specifiers in c?
What is the scope of local variable in c?
Why do we use null pointer?
here is a link to download Let_Us_C_-_Yashwant_Kanetkar
What is switch in c?
Explain how can I make sure that my program is the only one accessing a file?
What is the difference between null pointer and the void pointer?
How can I change their mode to binary?
What is the purpose of clrscr () printf () and getch ()?