Gcc: (++i)*(++i)

Stanislav Meduna stano na trillian.eunet.sk
Pátek Leden 29 18:02:55 CET 1999


On 29 Jan 1999 16:48:28 +0100, Petr Novotny wrote:

:> myslite si, ze je v C mozno pouzit (s jednoznacne definovanym
:> vysledkem) konstrukci ze Subjectu - (++i)*(++i)?

Jednoznacne nie.

: Hm, to je divne; jak tak ctu normu jazyka, tak ++ se provadi bud pred 
: nebo po vyhodnoceni operandu. Takze bych si spis myslel, ze mate 
: pravdu vy a ne kompilator.

Kompilator ma uplnu volnost v tom, ci najprv urobi
obe ++ a potom nasobenie, alebo jedno ++, strci
operand niekam, druhe ++, zase operand niekam
a potom vynasobi. Vysledok vyssie uvedeneho vyrazu
moze byt iny pre (++i)*(++i) a funkciu fn(++i, ++i)
a moze sa lisit podla pouzitia optimalizacie.

Problem je v tom, ze v tomto vyraze nie je
sequence point, ktorym je napr. ciarka, ||,
&& a.p.

Zdravi
-- 
				Stano



Další informace o konferenci Linux