Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    [C] Indicizzazione array oscura.

    Ciao ragazzi. Ho avuto tra le mani del codice C alquanto oscuro...

    Qualcuno di voi mi sa dire COSA VUOL DIRE QUESTA COSA??
    codice:
    int mio_array[5][5];
    printf("%d\n", mio_array[3,3] );  // cosa vuol dire???
    Sembra che venga stampato un indirizzo di memoria... ma io non ho mai visto indicizzare un array in questo modo.
    I luminari del C mi vengano in soccorso...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    698
    uhm
    prova un po printf("\n%d",*mio_array[3,3])

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Grazie... immaginavo che fosse un indirizzo riguardante l'array...

    Ora vorrei fare una domanda in più:

    A COSA SERVE QUELL'INDICIZZAZIONE? (Ho notato che il primo parametro, quello prima della virgola, è INUTILE).

    Grazie a chi avrà ancora la pazienza di darmi delle delucidazioni in merito.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    Secondo me e' codice scritto da un ex-sviluppatore vb.
    ChReAn
    -------------------

    Slackware 9.1 powered

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    No, no... ti assicuro che è codice scritto da un programmatore C con i controca**i!! Se volete il codice lo potete reperire qui:

    http://www.ioccc.org/2000/anderson.c

    Enjoy!


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    Ah ok, l'avevo gia' visto... C'era un articolo, mi pare sul primo numero di hacker journal (quello omaggio con linux & c). sul codice "nascosto".

    Bella perla.
    ChReAn
    -------------------

    Slackware 9.1 powered

  7. #7
    la virgola in c separa 2 espressioni, la prima viene solo eseguita, quella che viene valutata è la seconda, per cui

    a[strcpy(m, x), 2] è un modo idiota per scrivere
    a[2];

    codice:
    #include <stdio.h>
    
    int main()
    {
    	int a[] = {1,2,3,4,5,6,7,8,9,0};
    	printf("%d\n", a[printf("salve\n"), 2]) ;
    	printf("%d\n", a[2]);
    
    }

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ti ringrazio... sapevo che c'era il trucchetto sotto... ho visto altre cose del genere, sempre ovviamente in C (dove mai si può trovare del codice così poco leggibile se non in C o in alcuni listati Basic... )

    Ora ne so qualcosa di più...

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    A volte la virgola è comoda e va bene usarla, se la leggibilità rimane buona, il VB lasciamolo perdere, è un utile strumento di lavoro ma a volte lo trovo come linguaggio addirittura più difficile del C ...

    In questo caso invece risulta chiaro che i guru e gli hackers si divertono a scrivere del codice del genere apposta, e poi hanno la faccia di chiamarlo AUTO DOCUMENTANTE

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da Andrea Simonassi
    A volte la virgola è comoda e va bene usarla, se la leggibilità rimane buona, il VB lasciamolo perdere, è un utile strumento di lavoro ma a volte lo trovo come linguaggio addirittura più difficile del C ...

    In questo caso invece risulta chiaro che i guru e gli hackers si divertono a scrivere del codice del genere apposta, e poi hanno la faccia di chiamarlo AUTO DOCUMENTANTE
    Sono d'accordo... la mia era solamente una battuta ironica..

    Quando parlavo di codice Basic mi riferivo a questo:
    codice:
    10 PRINT "Ciao"
    20 FOR k=1 TO 10
    30 PRINT k;" ";
    40 NEXT k
    Non a codice VB.... :gren:


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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