Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


void main()
{
int i=5;
printf("%d",i+++++i);
}

Answers were Sorted based on User's Feedback



void main() { int i=5; printf("%d",i+++++i); } ..

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

void main() { int i=5; printf("%d",i+++++i); } ..

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

void main() { int i=5; printf("%d",i+++++i); } ..

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

void main() { int i=5; printf("%d",i+++++i); } ..

Answer / ashvin solanki (srimca college

There will be a compilation error .....

Is This Answer Correct ?    0 Yes 0 No

void main() { int i=5; printf("%d",i+++++i); } ..

Answer / shruti

i think it will give a compilation error..

Is This Answer Correct ?    1 Yes 2 No

void main() { int i=5; printf("%d",i+++++i); } ..

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

void main() { int i=5; printf("%d",i+++++i); } ..

Answer / guest

the condition is like i++ + ++i

so 5 + 6 =11

Is This Answer Correct ?    10 Yes 25 No

Post New Answer

More C Interview Questions

what is the difference between unix os and linux os

4 Answers  


Dont ansi function prototypes render lint obsolete?

0 Answers  


What are loops in c?

0 Answers  


What are the different types of control structures in programming?

0 Answers  


When is the “void” keyword used in a function?

1 Answers  


How to reverse a string using a recursive function, without swapping or using an extra memory?

31 Answers   Cisco, Mind Tree, Motorola, Ophio, Sony, TCS, Wipro,


Which function in C can be used to append a string to another string?

0 Answers  


What is indirection?

0 Answers  


Can we use any name in place of argv and argc as command line arguments?

0 Answers  


Tell me when is a void pointer used?

0 Answers  


how to print this sereis 2 4 3 6 5..........?

3 Answers  


a simple program in c language

5 Answers   IBM,


Categories