Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    [C] Chiarimento input vettore

    Salve a tutti, vorrei un chiarimento per quanto riguarda l'input di un vettore. Che differenza c'è tra questi due codici in basso? (precisamente il punto in cui assegno il valore immesso da tastiera all'allocazione di memoria:
    codice:
    /*INPUT*/
    void input(int v[], int *dim) {
    int num;
    *dim=0;
    do {
       printf("Inserisci il valore v[%d]: ", *dim);
       scanf("%d", &num);
       v[(*dim)++]=num;
       }
    while((num!=0) && (*dim<maxvet));
    if(num==0) (*dim)--;
    }
    codice:
    ...
    do {
       printf("Inserisci il valore v[%d]: ", *dim);
       scanf("%d", &num);
       v[*dim]=num;
       *dim++;
       }
    ...
    Vi ringrazio in anticipo

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,464

    Re: [C] Chiarimento input vettore

    La differenza sta tra questa

    (*dim)++

    e questa

    *dim++

    Secondo te, quelle parentesi a cosa servono?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3

    Re: [C] Chiarimento input vettore

    che questo:
    codice:
    v[(*dim)++]=num;
    fa due istruzioni in una..fa prima l'assegnazione v[*dim] = num, e poi incrementa il dato puntato da dim *dim++


    @oregon....hai postato prima ma non mi fa cancellare il messaggio...

  4. #4
    ah quindi prima assegna e poi incrementa? pensavo incrementasse anche prima di assegnare, perciò non riuscivo a spiegarmelo..
    ma quindi è la stessa cosa o no?

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,464

    Re: Re: [C] Chiarimento input vettore

    Originariamente inviato da ardito86
    @oregon....hai postato prima ma non mi fa cancellare il messaggio...
    E perché cancellarlo? Meglio due messaggi che uno solo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,464
    Originariamente inviato da robe92
    ah quindi prima assegna e poi incrementa? pensavo incrementasse anche prima di assegnare, perciò non riuscivo a spiegarmelo..
    ma quindi è la stessa cosa o no?
    Cioè?

    No ... sono due scritture diverse ... le hai comprese?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    ho compreso la scrittura
    codice:
    v[(*dim)++]
    ma la considero ancora simile all'altra perché penso che anche l'altra
    codice:
    ...
    [*dim]=num;
    (*dim)++;
    ...
    faccia prima l'assegnazione e poi l'incremento.. non è così?

  8. #8

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,464
    Hai cambiato la seconda dal tuo primo post

    v[*dim]=num;
    *dim++;

    in

    [*dim]=num;
    (*dim)++;

    Ovviamente, nella seconda versione va bene, ma nella prima no.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    e quale sarebbe la differenza tra *dim++ e (*dim)++ ?

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.