Article View: be.comp.programming
Article #12512Re: C decrement / increment
From: Andy Georges
Date: Fri, 09 Nov 2001 08:47
Date: Fri, 09 Nov 2001 08:47
41 lines
2461 bytes
2461 bytes
Hello, > Maar het geeft veel accolades voor weinig code. Persoonlijk vind ik > de --x++ vorm veel logischer. > > In principe lijkt de --x++ correct vertaalbaar: vooraf je index terug > verlagen, waarde aanpassen en index terug verhogen. Ik verlies tijd > bij TRUE, maar wn er bij FALSE, in 99% van de mogelijkheden. > Weet er iemand of zoiets legale C hoort te zijn, of is er geen > workaround? (zodat ik huidige vorm moet behouden). dit is geen correct C-statement. In C geeft de instructie --x een waarde terug, wat men een rvalue pleegt te noemen. de operator ++ verwacht echter een lvalue. Een lvalue is iets dat naar een geheugenpositie kan verwijzen, een rvalue is iets dat een waarde voorstelt. Een eenvoudig voorbeeld: int k; int j = 9; k = 3*j; in de laatste instrucite is k een lvalue (de compiler interpreteert dit als een plaats in het geheugen om het resultaat van de bereking te plaatsen) terwijl het rechter lid van de assignatie eigenlijk een rvalue is, een waarde die op de een of andere wijze wordt berekend. Merk tevens op dat --x++ ook kan worden geschreven als (--x)++ wat het probleem wel duidelijker maakt denk ik. Ook de interpreatatie als --(x++) is niet corrent omwille van dezelfde reden. mvg, Andy. -- ========================================================================== Parallel Information Systems Group - Dept. ELIS - Ghent University St. Pietersnieuwstraat 41, 9000 Ghent, Belgium Phone: +32-9-264.33.67, Fax: +32-9-264.35.94 E-mail: andy.georges@elis.rug.ac.be ==========================================================================
Technical Details
Message-ID:
<9sg568$h5d$1@inf6serv.rug.ac.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!193.190.198.17!newsfeeds.belnet.be!naxos.belnet.be!news.belnet.be!inf6serv.rug.ac.be!not-for-mailReferences:
<3beb3ad1.46039351@news.pandora.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,d5a3535abd40b2f0 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2001-11-09 01:15:09 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!193.190.198.17!newsfeeds.belnet.be!naxos.belnet.be!news.belnet.be!inf6serv.rug.ac.be!not-for-mail From: Andy Georges <andy(.)georges(@)nospam.rug.ac.be> Newsgroups: be.comp.programming Subject: Re: C decrement / increment Date: Fri, 9 Nov 2001 09:47:02 +0100 Organization: RUG ELIS Lines: 41 Message-ID: <9sg568$h5d$1@inf6serv.rug.ac.be> References: <3beb3ad1.46039351@news.pandora.be> NNTP-Posting-Host: polaris.elis.rug.ac.be Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit User-Agent: KNode/0.4