Scusate ma:
[Tralascio la funzione main che richiama la funzione massimo()..]
codice:
massimo(int x,int y,int z){
int max=x;
if (y>max) max=y;
if (z>max) max=z;
return max;}
e
codice:
massimo(int x,int y,int z){
int max=x;
if (y>max) y=max; // il cambiamento rispetto a prima è qui--> y=max
if (z>max) z=max;
return max;}
non sono la stessissima cosa? Sembra di no, infatti nel primo caso tutto funzia, ma nel secondo caso come massimo dà sempre il valore x... Mi spiegate perchè è un errore così grave che stravolge un programma così facile?
Inoltre
codice:
massimo(int x,int y,int z){
int max;
x=max; //il cambiamento è qui
if (y>max) y=max;
if (z>max) z=max;
return max;
}
dà come massimo un numero -85954785 o simile.... why?