Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    475

    [C] printf non scrive sul terminale

    Ciao, sto seguendo una guida sul c in ambiente unix e mi sono imbattuto in una cosa un po' strana:

    codice:
    int main(int argc, char* argv[])
    {
        int i;
    
        opterr = 0;
        while ( (i = getopt(argc, argv, "hp:c:e:") != -1 ) )
        {
            switch (i)
            {
                case 'h':
                    printf("Wrong -h option use\n");
                    usage();
                    return -1;
                    break;
            }
        }
    
        return 0;
    }
    dove usage() è solo una funzione di aiuto che, con una serie di printf, stampa un menu di aiuto.
    Se io apro il terminale di ubuntu e faccio partire il programma dandogli come argomento -h non succede niente. Non stampa nulla. Perchè? Non rileva l'argomento?
    "Let him who has understanding reckon the number of the beast, for it is a human number.
    Its number is rw-rw-rw-."

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Attenzione alla semantica... qui

    codice:
    i = getopt(argc, argv, "hp:c:e:") != -1
    stai dicendo "alla variabile i assegna il valore dell'espressione logica getopt(argc, argv, "hp:c:e") != 1" che sarà 0 o 1, quindi i non varrà mai h e non assumerebbe nessun altro valore se non appunto 0 e 1.

    codice:
    ( ( i = getopt(argc, argv, "hp:c:e:") ) != -1 )
    every day above ground is a good one

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    475
    ...

    Il 27 agosto ho il test d'ammissione per la normale di pisa... a informatica...

    ...

    ...lascio perdere ora o aspetto che mi buttino fuori loro?
    "Let him who has understanding reckon the number of the beast, for it is a human number.
    Its number is rw-rw-rw-."

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Ippo343
    ...lascio perdere ora o aspetto che mi buttino fuori loro?
    Scrivi un programma in C che usi la funzione rand() per scegliere una delle due opzioni ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    codice:
    int rand()
    {
        return 1;
    
        /* guaranteed to be random */
    }
    every day above ground is a good one

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    475
    In realtà comunque per essere ammessi a informatica alla normale bisogna passare 4 prove: mate e fisica, scritto e orale. Praticamente per essere ammesso a informatica non ho bisogno di conoscenze informatiche xD

    In ogni caso è dimostrato che le probabilità di entrare alla normale si possono calcolare così:

    codice:
    double probabilità(double n, double y)
    {
        return z * (n + y);
    }
    dove n è il punteggio ottenuto nelle prove di mate, y il punteggio ottenuto a quelle di fisica, e z è una costante definita in murphyslaw.h (e vale 0).
    "Let him who has understanding reckon the number of the beast, for it is a human number.
    Its number is rw-rw-rw-."

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Praticamente per essere ammesso a informatica non ho bisogno di conoscenze informatiche xD
    Ma in effetti mi sembrava strano che richiedessero conoscenze di informatica per l'ingresso alla facoltà di informatica di base... dalle parti mie si comincia da 0.

    dove n è il punteggio ottenuto nelle prove di mate, y il punteggio ottenuto a quelle di fisica, e z è una costante definita in murphyslaw.h (e vale 0).
    Bellissimo X°D comunque quella formula andrebbe corretta: bisognerebbe moltiplicare tutto per la variabile "raccomandati" dichiarata nell'header file figli_dei_baroni.h e che vale Inf... e moltiplicando Inf * 0 otteniamo NaN.

    In ogni caso mi sa che tra poco ci bannano con fucilazione facoltativa.
    every day above ground is a good one

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    475
    LOL xD

    In realtà infinito * 0 ha infiniti risultati a seconda della cardinalità dei due termini... ma ai fini di questa discussione non è importante, e soprattutto questo account mi serve non voglio il ban!
    "Let him who has understanding reckon the number of the beast, for it is a human number.
    Its number is rw-rw-rw-."

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 © 2026 vBulletin Solutions, Inc. All rights reserved.