programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
• Campbell Ritchie
• Bear Bibeault
• Ron McLeod
• Jeanne Boyarsky
• Paul Clapham
Sheriffs:
• Tim Cooke
• Liutauras Vilda
• Junilu Lacar
Saloon Keepers:
• Tim Moores
• Stephan van Hulst
• Tim Holloway
• fred rosenberger
• salvin francis
Bartenders:
• Piet Souris
• Frits Walraven
• Carey Brown

# Preincrement used in an expression

Ranch Hand
Posts: 267
The expression is as follows:
quotient /= ++x;
All variables have an integer value of 5.

The answer given is x = 6, quotient = 0.
I get lost at some point. The way I understand preincrement (variable is incremented then reassigned before used in an expression) and postincrement (variable is used then incremented) the answer I thought it would be would be an 1 because the value is incremented then it divides.
Where am I messing up?

Ranch Hand
Posts: 265
Since quotient and x both = 5, you end up with quotient = 5/6, which as an int is 0. If you change the variables to floats, you will get quotient = .8333 and x = 6.

Sheriff
Posts: 9099
12
quotient /= ++x;

All variables have an integer value of 5.

int quotient = 5;
int x = 5;

quotient /= ++x ;
quotient = quotient / ++x ;
x = x + 1 ;
x = 6 ;
quotient = 5 / 6 ;
quotient = 5 / 6 ;

so --
quotient = 0 ;
x = 6 ;

 Forget this weirdo. You guys wanna see something really neat? I just have to take off my shoe .... (hint: it's a tiny ad) Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton