RE: c - zápis řádku

Miroslav Draxal evik na volny.cz
Neděle Srpen 4 22:45:54 CEST 2013


Jo, teď to je logické. Díky všem, samí chytří lidé jsou zde v konf. Míra

 

From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz] On
Behalf Of Jan Waclawek
Sent: Sunday, August 04, 2013 10:43 PM
To: HW-news
Subject: Re: c - zápis řádku

 

C99, 6.5.17.

The left operand of a comma operator is evaluated as a void expression;
there is a
sequence point after its evaluation. Then the right operand is evaluated;
the result has its
type and value.

Priamo v norme je k tomu nasledujuci priklad:

In the function call
f(a, (t=3, t+2), c)
the function has three arguments, the second of which has the value 5.

Je to taky nie prilis systematicky prvok v C, sluziaci viacmenej len na
zmatenie nepriatela, ani mi nie je jasne, preco sa tam vobec ocitol.

Vo Vasom pripade ta vnutorna zatvorka predstavuje parameter funkcie, ktorym
su vlastne dva comma operatory ktore sa vykonaju jeden po druhom, najprv ten
lavy (asociativita je zlava doprava (to je dane tym BNF-like zapisom na
zaciatku 6.5.17, ja som ho neodcitoval cely)), ale kedze nemaju vedlajsie
efekty (nie je tam nic volatile), tak sa vlastne vyrazy okrem toho co je
najviac vpravo neemusia vobec vyhodnotit, a cele to teda prelozilo ako
asin(63838251249595768783149486794909), ak je ten prekladac dostatocne
chytry, tak to je konstantny vyraz, takze ho mohol prelozit ako priradenie
prislusnej konstanty do vyslednej premennej. Neviem, ako ste to rozhodili do
dvoch riadkov, ale zrejme tam bola vysledkom ina postupnost operacii (aj ked
tiez bol vysledok urcite nespravny).

Malo Vas trknut to chybove hlasenie v preklade s jednou zatvorkou :-) . Ako
som pisal, niekedy je uzitocne si vediet urobit cisty preprocesing bez
kompilacie.

wek


On Sun, 4 Aug 2013 22:20:28 +0200
Jan Waclawek <konfera na efton.sk> wrote:

> Lebo ciarka je v C operator.
>
> wek
>
> On Sun, 4 Aug 2013 22:06:17 +0200
> "Miroslav Draxal" <evik na volny.cz> wrote:
>
> > No jo no, člověk do toho čumí a přesto nevidí. Samozřejmě, že je to tak.
Jenom by mě zajímalo, jakto že to přeložilo ten řádek s těma ,
> >
> >
> > SlunecniVyskaNadObzoremDb = asin ((sin (SlunecniDeklinaceDb) * 0,
76971927852909363552858997231136 + cos (SlunecniDeklinaceDb) * cos
(SlunecniCasovyUhelDb) * 0, 63838251249595768783149486794909));
> >
> > Když na to koukám, nějak mi nedochází, jak to mohlo přeložit?
> >
_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list 



__________ Informace od ESET NOD32 Antivirus, verze databaze 8648 (20130804)
__________

Tuto zpravu proveril ESET NOD32 Antivirus.

http://www.eset.cz



__________ Informace od ESET NOD32 Antivirus, verze databaze 8648 (20130804)
__________

Tuto zpravu proveril ESET NOD32 Antivirus.

http://www.eset.cz

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20130804/9eb7e840/attachment.htm>


Další informace o konferenci Hw-list