Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    1,414

    [C] non funzionano gli array

    Non capisco proprio, sembrerebbe che gli array non funzionino...

    Mi vergogno quasi

    codice:
    #include <stdio.h>
    
    int array[100];
    int i; 
    
    main() {
            for ( i = 0; i <= 100; i++) {     
            printf ("%d\n" , array[i]);
            }
    return 0;
    }
    Perchè l'output è una serie di numeri assurdi?

  2. #2
    Utente bannato
    Registrato dal
    Nov 2003
    Messaggi
    558
    Ma che linguaggio è assurdo

    Cmq secondo me è perchè dopo il for nn hai aperto la graffa (nn dovrebbe neanche compilarti)

  3. #3
    al posto di assurdo io avrei scritto il linguaggio che utilizzi

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  4. #4
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    1,414
    Scusate, un attimo di rincoglionimento

    Ehm, avevi ragione ma era un errore di copiatura, la parentesi nel source c'era

    Il codice è giusto caspita, è quello delle lezioni sul C di virusbye :quipy:

    Compilato con GCC, eppure non va

  5. #5
    a parte il fatto che ci sono diversi errori...:

    mi spieghi come fai a visualizzare il contenuto di array, se array è vuoto?

    codice:
    int main()
    {
        int array[100], i; 
    
        /* carico l'array N.B. [100] == da 0 a 99 */
        for(i=0; i<100; i++)
            array[i]=i;
    
        /* leggo l'array */ 
        for(i=0; i<100; i++)
            printf("%d\n", array[i]);
        
        system("pause");
        return 0;
    }
    La prossima volta una discussione con un titolo simile, la chiudo!!!:
    Regolamento_Forum
    ...Terrible warlords, good warlords, and an english song

  6. #6
    Utente di HTML.it L'avatar di Zalex
    Registrato dal
    Aug 2001
    Messaggi
    357
    e' normale che vengano fuori numeri assurdi!
    tu non inizializzi l'array, quindi fai cose sporche..........ovvero leggi i valori in RAM.
    quelle cose strane che vedi e' quello che c'e' in RAM nello spazio di memoria dell'array

  7. #7
    Utente bannato
    Registrato dal
    Nov 2003
    Messaggi
    558
    Originariamente inviato da maiosyet
    Scusate, un attimo di rincoglionimento

    Ehm, avevi ragione ma era un errore di copiatura, la parentesi nel source c'era

    Il codice è giusto caspita, è quello delle lezioni sul C di virusbye :quipy:

    Compilato con GCC, eppure non va
    Ok cmq in che senso nn va..? Io se lo compilo mi stampa 100 zeri

    Che output vorresti?

  8. #8
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    1,414
    Originariamente inviato da Johnny_Depp
    a parte il fatto che ci sono diversi errori...:

    mi spieghi come fai a visualizzare il contenuto di array, se array è vuoto?

    codice:
    int main()
    {
        int array[100], i; 
    
        /* carico l'array N.B. [100] == da 0 a 99 */
        for(i=0; i<100; i++)
            array[i]=i;
    
        /* leggo l'array */ 
        for(i=0; i<100; i++)
            printf("%d\n", array[i]);
        
        system("pause");
        return 0;
    }
    La prossima volta una discussione con un titolo simile, la chiudo!!!:
    Regolamento_Forum
    Scusate tutti, ho fatto 'na cazzata col titolo

    Comunque questo pezzo:


    codice:
    /* carico l'array N.B. [100] == da 0 a 99 */
        for(i=0; i<100; i++)
            array[i]=i;
    Che nella guida che seguo non c'era o me lo sono perso io
    http://programmazione.html.it/c/c_22.htm

    Cioè, non capisco perchè bisogna mettere quella parte di codice per "caricare" l'array...

    Cioè perchè

    array[i] = i;

    Serve solo a indicare che 'i' è caricata dall'array, e poi esegue un altro ciclo? Ma non è la stessa varabile?

    Cioè, non mi è molto chiaro sto concetto del "caricae l'array"

  9. #9
    Se crei una variabile e non gli dai alcun valore essa ne prenderà uno strano: prenderà il valore che aveva la variabile che precedentemente occupava quella casella di memoria... O almeno dovrebbe prendere quel valore...
    Prova a inizializzare la variabile i, senza dargli alcun valore e a stamparla subito... Avrà un valore del cavolo...
    Prima di tutto devi caricare ogni indice dell'array dandogli il valore che vuoi tu...

  10. #10
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Non è "caricare l'array", semplicemente lo inizializzi con i valori da 1 a 100!
    Puoi anche omettere il codice, ma come già spiegato ti verranno numeri assurdi!


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.