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]
-------------------------------------------------------------------------