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 will be the output for the following main() { printf("hi" "hello"); }
write a program to display the numbers having digit 9 in the given range from 1 to 100
how to make program without <> in library.
using only #include <stdio.h> and #include <stdlib.h> Write a program in C that will read an input from the user and print it back to the user if it is a palindrome. The string ends when it encounters a whitespace. The input string is at most 30 characters. Assume the string has no spaces and distinguish between and lowercase. So madam is a palindrome, but MadAm is not a palindrome. Use scanf and %s to read the string. Sample Test: Enter a string: madam madam is a palindrome. Enter a string: 09023 09023 is not a palindrome.
Program will then find the largest of three numbers using nested if-else statements. User is prompted to enter three numbers. Program will find the largest number and display it on the screen. All three numbers entered by the user are also displayed. If user enters 21, 33, and 5, the output should be as follows: You entered: 21, 33 and 5. The largest number is 33.
void main() { int i=5; printf("%d",i+++++i); }
Is there a way to have non-constant case labels (i.e. Ranges or arbitrary expressions)?
Difference between malloc() and calloc() function?
A routine usually part of the operation system that loads a program into memory prior to execution a) linker b) loader c) preprocessor d) compiler
what is the flow of execution in cprogram? ex:printf();,scanf();
Find greatest number out of 10 number without using loop.
Why void is used in c?