Scusa ma perchè fare due funzioni che fanno quasi la stessa cosa ?Originariamente inviato da {-_-}
questo codice dovrebbe prendere una stirnga di numeri, moltiplicare ogni numero per tre e stampare, il tutto
pechè non mi moltiplica per tre i numeri, li lascia sempre uguali?
inoltre quando passo un array, non devo passare parametri ne ritornare nulla perchè tanto il puntatore modifica direttamente l'array originale, giusto?
codice:#include <stdio.h> int vett[5]= {1,2,3,4,5}; int i; void stampa(); void moltiplica(); int main(){ stampa(); moltiplica(); } void stampa(){ for (i=0; i<5; i++){ printf("numero in posiizone % ->->-> %d \n", i, vett[i]); } } void moltiplica(){ for (i=0; i<5; i++){ vett[i]= (3*vett[i]); printf("numero in posiizone % ->->-> %d \n", i, vett[i]); } }
Io farei così:
molto più ottimizzato.codice:void stampa_e_moltiplica(){ for (i=0; i<5; i++){ vett[i] *= 3; printf("numero in posiizone % ->->-> %d \n", i, vett[i]); } }
Poi oltretutto, per comodità, esiste la scrittura
al posto dicodice:variabile *= valore;
mi sembra più veloce.codice:variabile = variabile * valore;
![]()

Rispondi quotando