OT:patecni okenko x = y+++++y;

Milan B. milan na bastl.sk
Pátek Říjen 4 14:04:27 CEST 2013


On 10/4/2013 1:32 PM, Marek Peca wrote:

A co ak malo ist o "y+ + +++y" alebo  "y+ + + + +y" alebo o "y++ + + +y" ?

Vysledok moze byt:
x==4, y==2
x==2, y==1
x==2, y==2

Fakt blbe zadanie.

-m-

>> DD, mejme v cecku nasledujici cast kodu (predpokladejme ze x a y jsou 
>> int):
>>
>> y = 1;
>> x = y+++++y;
>> Co bude v x a y po vykonani tohoto kodu?
>
> Patrne melo jit o "y++ + ++y". Zde je treba vedet, ze ++y vraci 
> hodnotu po, zatimco y++ hodnotu pred. Kupodivu -- a to je asi vtip 
> ulohy -- neni potreba vedet, zda se operandy v souctu vyhodnocuji 
> zprava, nebo zleva -- protoze v prvnim pripade to dopadne jako 1+3, 
> zatimco v druhem 2+2. V obou pripadech zbyde y==3, x==4.
>
> Pro kontrolu jsem to nechal prelozit gcc (-ansi), ale ouha -- priklad 
> byl prilis hadankovite zamlzen vynechanim mezer -- gcc to nezere: 
> error: invalid lvalue in increment.
>
> Po vlozeni mezer vysledek dle predpokladu.
>
> Tak nevim, jak hovori ANSI, ale asi se to zadani uplne nepovidlo ;-)
> MP
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list