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 use of extern in c?
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
Given an array of characters, how would you reverse it? How would you reverse it without using indexing in the array?
what is the difference between declaration ,defenetion and initialization of a variable?
Tell us the use of fflush() function in c language?
a=5 a=a++/++a
Q. where is the below variables stored ? - volatile, static, register
Why do some versions of toupper act strangely if given an upper-case letter?
What would the following code segment printint k = 8;docout << "k = " << k << " ";while k++ < 5; a) 13 b) 5 c) 8 d) pointers
What are pointers? Why are they used?
Where register variables are stored in c?
though sbi was nationalized why its not comes under nationalized banks and its comes under publicsector banks
3 Answers State Bank Of India SBI,