Silvio, Troque a atribuição i= i++ por algo como a= i++. Não utilize a mesma variável na atribuição.
----- Original Message ----- From: Silvio L. DeMorais <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, March 05, 2002 4:57 PM Subject: Re: [java-list] código obscuro!! > Caramba... esse troco estah gerando um monte de conversa mesmo. > Resolvi dar uma testada nesse negocio. > > Testei nos seguintes compiladores C/C++ > Compilador C/C++ padrao do Sistema HP (Unix) > gcc compiler no Linux (RedHat 7.2) rodando em PC Intel > Compilador C/C++ padrao do Sistema Cray (Cray T-3E) > > > E as seguintes JVM's > > JDK 1.1.8 Sun > JDK 1.2.2 Sun > JDK 1.3.1_02 Sun > JDK 1.4 Sun todos rodando em PC's Intel com Windows NT 4.0 SP 6 > > JDK 1.3.0 instalada num HP (Unix) > > > Nao testei com JDK 1.0 porque nao tenho aqui no escritorio. > > Os testes foram os seguintes: > para Java > > class PlusPlusADireitaRetornaZero > > public static void main (String[] a) > { > int i = 0; > i = i++; > System.out.println(i); > } > > > > Para C > > #include <stdio.h> > int main () > > int i = 0; > i = i++; > fprintf("%i \n", i); > > > Para C++ (que eh a mesma coisa, no caso, mas... ) > > #include <iostream> > int main () > > int i = 0; > i = i++; > cout << i << '\n'; > > > > Resultados: zero, sempre zero, jamais algo diferente de zero. Em todas as > plataformas/linguagens. > Ainda estou para ver uma situacao que retorne UM. > Me digam qual o caso que retorna 1, mas mandem completo: > Compilador, versao do compilador, SO, versao do SO, SP aplicados (se algum), > plataforma de hardware usada (PC Intel, PC AMD, HP, ...). > > Silvio > > > > > > > On Mon, 04 March 2002, Carlos Villela wrote > > > > > Ate' agora, eu so vi programas deste tipo implementados em C/C++ > > resultarem em 1 (nos compiladores gcc e turboc-4.5) e implementacoes em > > Java retornarem 0 (nas jdks 1.3 e 1.4 da sun, jdk 1.3 da ibm). Em quais > > compiladores/JVMs vc viu este comportamento mudar? > > > > Sven van ´t Veer wrote: > > > > > Não tem, até diversas compiladores C++ tem comportamento diferente, e > > > parece diversas JVM também tem comportamento diferente. > > > > > > csuco wrote: > > > > > >>o codigo em C ou C++... > > >> > > >>int main() { > > >> int i = 0; > > >> i = i++; > > >> fprintf (stdou,"i = %ld",i); > > >>} > > >> > > >> > > >>teria exatamente o mesmo comportamento! > > >> > > >> > > >>Clebert > > >> > > >> > > >> > > >>>---------- Mensagem original ----------- > > >>> > > >>>De : Agnelo de Jesus <[EMAIL PROTECTED]> > > >>>Para : [EMAIL PROTECTED] > > >>>Cc : > > >>>Data : Wed, 27 Feb 2002 09:05:45 -0300 > > >>>Assunto : Re: [java-list] código obscuro!! > > >>> > > >>>Caro Cristiano, > > >>> > > >>>Quando você utiliza o incremento à direita do número,(i++), você > > >>> > > >>primeiro > > >> > > >>>retorna o número e depois soma 1. > > >>>Para você fazer aquilo que pretendia,(não existe necessidade), você > > >>> > > >>deveria > > >> > > >>>utilizar o incremento à esquerda do número (++i). > > >>>Isto vale também para a linguagem C++, verifique se o que você > > >>> > > >>afirmou > > >> > > >>>realmente ocorre, o que seria verdadeiramente obscuro :). > > >>> > > >>>Espero ter ajudado > > >>>[]s, > > >>> > > >>>Agnelo de Jesus. > > >>> > > >>>{ > > >>> int i = 0; > > >>> i = i++; > > >>> System.out.println(i); > > >>>} > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>>Em 26 Feb 2002, [EMAIL PROTECTED] escreveu: > > >>> > > >>>>Oi lista, > > >>>> > > >>>>Alguém pode explicar porque a seguinte implementação retorna 0 > > >>>> > > >>(zero)? > > >> > > >>>>{ > > >>>>int i = 0; > > >>>>i = i++; > > >>>>System.out.println(i); > > >>>>} > > >>>> > > >>>>Não seria mais 'lógico' retornar 1, como em C++ ? > > >>>> > > >>>>Abraços, > > >>>> > > >>>>CristianoBS > > >>>> > > >>>>------------------------------ LISTA SOUJAVA ---------------------- > > >>>> > > >>------ > > >> > > >>>>http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu- > > >>>> > > >>SP > > >> > > >>>>dúvidas mais comuns: http://www.soujava.org.br/faq.htm > > >>>>regras da lista: http://www.soujava.org.br/regras.htm > > >>>>historico: http://www.mail-archive.com/java-list%40soujava.org.br > > >>>>para sair da lista: envie email para java-list- > > >>>> > > >>[EMAIL PROTECTED] > > >> > > >>>>------------------------------------------------------------------- > > >>>> > > >>------ > > >> > > >>>>---------- > > >>>> > > >>> > > >>> > > >>> Agnelo de Jesus. > > >>> > > >>>_________________________________________________________ > > >>>Oi! Você quer um iG-mail gratuito? > > >>>Então clique aqui: http://registro.ig.com.br/censo/igmail > > >>> > > >>> > > >>>------------------------------ LISTA SOUJAVA ----------------------- > > >>> > > >>----- > > >> > > >>>http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu- > > >>> > > >>SP > > >> > > >>>dúvidas mais comuns: http://www.soujava.org.br/faq.htm > > >>>regras da lista: http://www.soujava.org.br/regras.htm > > >>>historico: http://www.mail-archive.com/java-list%40soujava.org.br > > >>>para sair da lista: envie email para java-list- > > >>> > > >>[EMAIL PROTECTED] > > >> > > >>>-------------------------------------------------------------------- > > >>> > > >>----- > > >> > > >>> > > >>> > > >> > > >> > > >>------------------------------ LISTA SOUJAVA ---------------------------- > > >>http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP > > >>dúvidas mais comuns: http://www.soujava.org.br/faq.htm > > >>regras da lista: http://www.soujava.org.br/regras.htm > > >>historico: http://www.mail-archive.com/java-list%40soujava.org.br > > >>para sair da lista: envie email para [EMAIL PROTECTED] > > >>-------------------------------------------------------------------------< > > >>br> > > >> > > > > > >-- > > >"'You guys (at Microsoft) still don't get it,' > > >because it's sort of Java with reliability, productivity and security > deleted." > > > > > > James Gosling > > > > > > > > > > > > > > > > ------------------------------ LISTA SOUJAVA ---------------------------- > > http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP > > dúvidas mais comuns: http://www.soujava.org.br/faq.htm > > regras da lista: http://www.soujava.org.br/regras.htm > > historico: http://www.mail-archive.com/java-list%40soujava.org.br > > para sair da lista: envie email para [EMAIL PROTECTED] > > ------------------------------------------------------------------------- > > > > ------------------------------ LISTA SOUJAVA ---------------------------- > http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP > dúvidas mais comuns: http://www.soujava.org.br/faq.htm > regras da lista: http://www.soujava.org.br/regras.htm > historico: http://www.mail-archive.com/java-list%40soujava.org.br > para sair da lista: envie email para [EMAIL PROTECTED] > ------------------------------------------------------------------------- > ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------