🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #12512

Re: C decrement / increment

#12512
From: Andy Georges
Date: Fri, 09 Nov 2001 08:47
41 lines
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-mail
References: <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