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

Radek_Sedmak na eurotel.cz Radek_Sedmak na eurotel.cz
Pondělí Únor 1 08:51:43 CET 1999


No nevim me ale kod
#include <stdio.h>

void main() {
  int i;
  i=2;
  printf("%d\r\n",(++i)*(++i));
}

Vypise 12 coz se mi zda dobre ne ?

OS: HP-UX 10.20
gcc 2.7.2.3

     Zdravim,

     myslite si, ze je v C mozno pouzit (s jednoznacne definovanym
vysledkem) konstrukci ze Subjectu - (++i)*(++i)? Pri zkompilovani
gcc 2.7.2.3 i egcs-1.03 je vysledek druha mocnina, coz neni to, co bych
si predstavoval. Pritom po nahrazeni ++i za i+=1, coz by melo byt
ekvivalentni, je vysledek v poradku - pro nejake puvodni i to vrati
(i+1)*(i+2).

-Yenya

--
\ Jan "Yenya" Kasprzak <kas at fi.muni.cz>
http://www.fi.muni.cz/~kas/
\\ PGP: finger kas at aisa.fi.muni.cz   0D99A7FB206605D7 8B35FCDE05B18A5E
//
\\\             Czech Linux Homepage:  http://www.linux.cz/
///
///    Can you say "ignored email" three times quickly while chewing
\\\
//     on an apple?                                 --Linus Torvalds
\\

----------------------------------------------------------------------
Meta-FAQ (odhlášení, archív a další): http://www.linux.cz/mailing-list






Další informace o konferenci Linux