Xref: utzoo comp.lang.c:38532 comp.std.c:4720 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!elroy.jpl.nasa.gov!zardoz.cpd.com!dhw68k!arcturus!berry From: berry@arcturus.uucp (Berry;Craig D.) Newsgroups: comp.lang.c,comp.std.c Subject: Re: difference between c++; and ++c; Keywords: pre post increment decrement grammar style Message-ID: <1991Apr18.230559.28858@arcturus.uucp> Date: 18 Apr 91 23:05:59 GMT References: <1991Apr08.161444.10025@cs.ruu.nl> <389@civet.ukc.ac.uk> <3730@inews.intel.com> Organization: Rockwell International Lines: 28 bhoughto@nevin.intel.com (Blair P. Houghton) writes: >In article <389@civet.ukc.ac.uk> mtr@ukc.ac.uk (M.T.Russell) writes: >>Notionally we have: >[...I have no joke here, I just like the proper use of the word "notionally..."] >[ :-) and I need a little inews-inclusion-meter fodder :-( ] >> i++; "Save the current value of i, increment i then discard >> the value just saved" >> ++i; "Increment i then discard the resulting value" >>Obviously most compilers will generate exactly the same code for >>either case, but it is nice to express what you mean as directly as >>possible. > i += 1; "Increment i." No, "Increment i then discard the resulting value." Could it be that you have forgotten that += is an operator, returning the new lhs rvalue? For example, int a = 5; int b; b = (a += 1); is perfectly valid, leaving a and b equal to 6. My conclusion: "++c" and "c += 1" are semantically equivalent, and "++c" is shorter. My vote goes for the latter.