void main()
{
int i=5;
printf("%d",i+++++i);
}
Answers were Sorted based on User's Feedback
Answer / vinay,
:) its just how the Compiler parses things..
the..maximum matching (of a token) principle... from the
left..
1. i++ is a valid maximum match. Good, next
2. + match, next (expects a + or a identifier,for furthur
match)
3. + (this is not a identifier, but a + will do so:
match=++). Next the parser wants an indentifier.. else
compiler flags an error..
4. + (not an identifier.. so.. fails)
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / ashwini
This gives an error. The error is as below:
error C2105: '++' needs l-value
if we correct the code to printf("%d", i++ + ++i);
We get the answer as 12...
The above printf becomes a statement when it sees the
semicolon. Unary operators have right to left associativity.
So, ++i is evaluated first to 6. Then, i++ is evaluated. i++
contributes 6 to addition and then increments i. So, we get
the answer as 12.
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / shivam shukla
all of you are breaking the statement i+++++i correctly as
i++ + ++i and your answer 12 is also write but you are
explaining it the wrong way......first i++ will make the
value 6 and again a ++i will make it 7 but inn actual
calculation of i++ + ++i....5+7.....will be calculated
hence we get the value 12
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / ashvin solanki (srimca college
There will be a compilation error .....
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / sulochana
This statement is just i=i++ + ++i;
Initially i=5
i++ increments after the statement completed For now its
value is 5.
++i increments before its execution.so it is 6
It executes like
i=5+6; i.e. i=11
| Is This Answer Correct ? | 2 Yes | 8 No |
What is the difference between a free-standing and a hosted environment?
what is difference between strcmp & palindrome?
what is the difference between #include<stdio.h> and #include"stdio.h" ?
why Language C is plateform dependent
Which is an example of a structural homology?
int n=1; while(1) { switch(n) { case 1:printf("a"); n++; continue; case 2:printf("b"); n++; continue; default : printf("c"); break; } break; }
Can you please explain the difference between syntax vs logical error?
how can i access hard disk address(physical address)? are we access hard disk by using far,near or huge pointer? if yes then please explain.....
What is c programming structure?
Explain with the aid of an example why arrays of structures don’t provide an efficient representation when it comes to adding and deleting records internal to the array.
The file stdio.h, what does it contain?
Write a program that an operator and two operands read from input operand operator on the implementation and results display.