Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [C] Errore di compilazione

    Salve gente, torno adesso adesso da un test che ho fatto per entrare (facciamo le corna) a lavorare in un'azienda di informatica.

    Il test era di C, lo studiai un pochino 4-5 anni fa, per l'occorrenza ci avevano dato una guida di preparazione.

    Solo che c'è una domanda che proprio non mi garbava.

    Dato questo listato:

    #include <stdio.h>
    int* pA;
    int a;
    void main(){
    pA=&a;
    (*pA)=10;
    }

    C'erano quattro risposte e una era giusta, io ho scelto che usciva un errore di compilazione.

    Analizzando il listato si nota che in effetti, a parte l'inutilità delle istruzioni, non c'è nulla che non vada...
    Però c'era quel int* pA; che proprio non mi convinceva, doveva essere int *pA;

    Consegnato il test me ne sono andato, in macchina ho cacciato il portatile e ho subito provato il listato con Visual C++ e ha funzionato.

    Ora vi chiedo, è Visual C++ così materno da comprendere anche piccoli errori di trascrizione o C lo si scrive come a uno pare?
    E le dichiarazioni di puntatori si possono scrivere sia tipo *variabile che tipo* variabile?

    Grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    23
    Non c'è nessun errore e non è il Visual C++ che è buono,
    ma int* p; è perfettamente uguale a int *p;


  3. #3
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Originariamente inviato da maraldo
    Non c'è nessun errore e non è il Visual C++ che è buono,
    ma int* p; è perfettamente uguale a int *p;

    confermo

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  4. #4
    Sto a rosicà

    Però dai, sono infami, c'hanno dato una guida di tipo 60 pagine, in ogni esempio di listato viene sempre e soltato dichiarata "tipo *variabile", devi essere proprio infame dentro per fare il test scrivendo "tipo* variabile".

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,464
    Beh ... non penso l'abbiano fatto apposta ...

    Del resto il C e' - notoriamente - uno dei linguaggi piu' "liberi" da questo punto di vista ...

  6. #6
    Anche io non credo che l'abbiano fatto apposta, ma diciamo che in un processo d'appello se mi chiedono perchè ho risposto così diciamo che ho delle buone motivazioni per averlo fatto.

    Cmq pensavo che il C fosse un pò più ristretto di vedute, in genere era il PHP che era molto elastico pur utilizzando il C...

  7. #7
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    presso quale azienda ahi fatto il test? Una grande azienda di consulenza informatica?

    Non si tratta di essere di larghe vedute o meno, ma di sintassi: gli spazi bianchi tra gli elementi lessicali sono ignorati dal compilatore, e così come puoi scrivere:

    int a = 1+2 ;
    int a= 1 +2;
    int a=1+2 ;

    puoi indifferentemente scrivere

    int *a;
    int * a;
    int*a;

    o anche

    int
    *
    a
    ;


    per il resto se hai la possibilità di fare un colloquio ti sconsiglio di dire: "ma sul vostro manuale è sempre scritto cosi..." perchè a me daresti una cativa impressione, di uno che si basa solo sugli esempi o che comuqnue non ha approfondito. Meglio una scusa tipo: mi sono confuso, visto che non è un erore logico.

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,464
    Originariamente inviato da Debiru
    Anche io non credo che l'abbiano fatto apposta, ma diciamo che in un processo d'appello se mi chiedono perchè ho risposto così diciamo che ho delle buone motivazioni per averlo fatto.

    Cmq pensavo che il C fosse un pò più ristretto di vedute, in genere era il PHP che era molto elastico pur utilizzando il C...
    Mi associo a quanto ti ha detto anx e aggiungo che non riesco a trovare - con tutta la buona volonta' - alcuna buona motivazione.

    In realta', mi e' capitato di fare dei test (dal punto di vista del docente) e ti assicuro che avrei giudicato peggio la tua scusa, piuttosto che l'errore in se stesso.

  9. #9
    Vabbhè, non è che gli vada a dire "ve pijasse un colpo m'avete fatto sbagliare voi" semplicemente direi che ho pensato che forse poteva essere un errore di scrittura voluto o qualcosa di simile, in effetti mi ci è voluto del tempo per decidermi sulla risposta...
    Mah, boh, speriamo bene.

    Si, comunque l'azienda è l'Accenture Technology Solutions, speriamo bene perchè di roba ne ho studiata molto, ma con ste magre di luna tutte le mie conoscenze non sono mai riuscito a metterle a frutto, se riuscissi finalmente a lavorare veramente almeno in un linguaggio di programmazione potrei alzare il mio livello di programmatore.

    Purtroppo anche volendo fare qualcosa in proprio non c'è mai occasione di fare qualcosa di bello tosto e poi quando torno dal lavoro (dove purtroppo faccio più il tecnico che altro) non ho proprio voglia di lavorare al pc

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.