a cura di Dario Dariol
 
    Soluzione Esercizio 003 - Passaggio dei parametri in Java e ANSI-C
     
    L'esercizio proponeva di confrontare tra di loro due programmi (uno Java e l'altro ANSI-C) molto simili tra di loro.

    Ho ricevuto poche risposte (in boldface rosso gli errori, in bolface blu le risposte corrette):
     
    Risposta Java Ansi-C
    1 three two three <no answer>
    2 one two three one two three
    3 one two three three three three
    4 three three three one two three
    5 one two three <indefinito> Unica risposta corretta!

    Complimenti al #5 che ha risposto in maniera corretta!

    Java definisce l'ordine di valutazione delle espressioni (left to right).

    ANSI-C e C++ non definiscono invece l'ordine di valutazione delle espressioni.
    A titolo di curiosità il programma ANSI-C può stampare le seguenti righe a seconda dei diversi compilatori su cui ho provato l'esempio:
     

    one two three 
    three two three
    three three three
    two two three
    Regole del gioco

    I quiz presentati in questa rubrica trattano esclusivamente del linguaggio Java, così non sono richieste conoscenze di applets, servlets, Beans, etc.. Le uniche classi predefinite che possano eventualmente essere utilizzate sono quindi solo quelle appartenenti al package java.lang (classi come ad esempio: Thread, Class, ClassLoader, System, Runtime, etc...). Per risolvere i quiz non serve inoltre editare, compilare o testare nessun tipo di codice. Si tratta di quiz mentali che devono essere risolti solo con la testa e non con il computer. Quindi:

    • Non bisogna compilare ed eseguire nessun pezzo di codice: non sono interessato a sapere che con certe implementazioni della JVM si ottengono certi risultati mentre con altre implementazioni altri risultati. Sono invece interessato a quali siano l'insieme di risultati validi così come specificato dal linguaggio Java: cioè quali sono i risultati che un buon programmatore Java si può aspettare da una qualsiasi JVM che soddisfi le specifiche di Java?
    • Non occorre che inviate una soluzione del quiz a me o alla rivista. La soluzione sarà fornita nel prossimo numero. Una volta nota la soluzione (quindi solo dal prossimo mese in poi) potete allora eventualmente contestarla e/o commentarla inviandomi una email. Io sarò ben lieto di pubblicare e discutere tutti i pareri ricevuti.
 




MokaByte®  è un marchio registrato da MokaByte s.r.l.

Java® è un marchio registrato da Sun Microsystems; tutti i diritti riservati

E' vietata la riproduzione anche parziale
Per comunicazioni inviare una mail a
mokainfo@mokabyte.it