cosa ho sbagliato?
codice:#include <stdio.h> typedef int H[5]; int funz(H a,b){ return (a[0]+b[0]); } int main(){ H x,y; int z; x[0]=y[0]=5; z=funz(&x,&y); }
cosa ho sbagliato?
codice:#include <stdio.h> typedef int H[5]; int funz(H a,b){ return (a[0]+b[0]); } int main(){ H x,y; int z; x[0]=y[0]=5; z=funz(&x,&y); }
Only the good die young
all the evil seem to live forever
:metallica
Questo mi sa...codice:z=funz(&x,&y);
Cmq... Dipende da quello che volevi fare!!!![]()
Folle e' l'uomo che parla alla luna.
Stolto chi non le presta ascolto.
dovo passare x e y alla funzione, il valore di ritorno lo metto in z.
Only the good die young
all the evil seem to live forever
:metallica
Beh, fai un po' di debug, allora...
Prova a infilare una stampa a video nella funzione, tipo (se non ricordo male):
printf ("%d %d", a[0], b[0])
e vedi cosa ti esce.
Ricordo che anch'io in C ci perdevo le ore a far funzionare il passaggio dei parametri, soprattutto con le stringhe (char*), sbagliando le cose piu' idiote (e ovviamente, nel cercare di correggere mi concentravo sulle cose meno banali, non trovando mai l'errore!!!)
Folle e' l'uomo che parla alla luna.
Stolto chi non le presta ascolto.
non capisco questa riga, me la puoi spiegare? ha cosa serve il "[5]"?codice:typedef int H[5];
a me funge perfettamente questo
codice:#include <stdio.h> #include <iostream.h> #include <stdlib.h> typedef int H[5]; int funz(H a, H b){ return (a[0]+b[0]); } int main(){ H x,y; int z; x[0]=y[0]=5; z=funz(x,y); cout << z; system ("PAUSE"); }
*********************************
Andrea
*********************************