|
lug-bg: c/cpp incr/decr
- Subject: lug-bg: c/cpp incr/decr
- From: George Danchev <danchev@xxxxxxxxx>
- Date: Tue, 18 Jan 2005 00:11:49 +0200
бърз въпрос: Разликата между x++ и ++x е безкрайно ясна (т.е. определя дали
променливата ще участва инкрементирана в израза, като тя самата при всички
случаи се инкрементира), но защо когато участва и в лявата страна на израза
(втория случай) се получава един инкремент повече...
#include <iostream>
using namespace std;
int main()
{
int a, b, x, y ;
//
a = b = x = y = 0 ;
a = x++ + ++x;
b = ++y + y++;
cout << "a = x++ + ++x = " << a << "\n";
cout << "b = ++y + y++ = " << b << "\n";
//
a = b = x = y = 0 ;
x = x++ + ++x;
y = ++y + y++;
cout << "x = x++ + ++x = " << x << "\n";
cout << "y = ++y + y++ = " << y << "\n";
//
a = b = x = y = 0 ;
cout << "x++ + ++x = x++ + ++x " << x++ + ++x << "\n";
cout << "++y + y++ = ++y + y++ " << ++y + y++ << "\n";
return 0;
}
./test
a = x++ + ++x = 2
b = ++y + y++ = 2
x = x++ + ++x = 3
y = ++y + y++ = 3
x++ + ++x = x++ + ++x 2
++y + y++ = ++y + y++ 2
10x
--
pub 4096R/0E4BD0AB 2003-03-18 <danchev.fccf.net/key pgp.mit.edu>
fingerprint 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|
|
|