Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
ho questo programma,il programma è corretto e parte,ma ho un dubbio,sulla funzione '' leggi''devo usare il passaggio per riferimento,ma sulla funzione ''sommab'' lo devo usare?se sì o no perchè?ecco il programma:
dovrai passare come parametri(&x,&y) (in questo caso il passaggio di parametri è necessario perché vuoi modificare direttamente x e y)...
nella funzione sommab è superfluo il passaggio di riferimenti come parametri, dato che x e y non devono essere modificati, per cui la funzione diventerà:
Codice sorgente - presumibilmente C/C++
float sommab(float a,float b)
inoltre se vuoi visualizzare su schermo il risultato di sommab dovresti fare:
Codice sorgente - presumibilmente Plain Text
cout<<sommab(x,y)<<endl;
ricapitolando il codice corretto sarebbe:
Codice sorgente - presumibilmente C++
#include <iostream>
usingnamespace std;
float x;
float y;
void leggi_numeri(float*a, float*b)
{cout<<"scrivi due numeri"<<endl;
cout<<"primo numero: "<<endl;
cin>>*a;//perché tramite l'asterisco assegna il valore alla zona di memoria alla quale fa riferimento, cioè x
cout<<"secondo numero: "<<endl;
cin>>*b;//vale lo stesso di prima
}
float sommab(float a, float b)
{float somma;
somma = a+b;
return somma;
}
int main()
{leggi_numeri(&x,&y);
cout<<sommab(x, y)<<endl;
system("pause");
return0;
}
Ultima modifica effettuata da il 03/02/2011 alle 16:13
mm..la riga leggi_numeri(&x,&y); è sbagliata..e cmq il passaggio per riferimento è un'alternativa alle funzioni che richiedono puntatori come argomenti - carlduke - 03/02/11 16:01
è sbagliata perchè la funzione è dichiarata come leggi_numer(float& a,float& b) e non leggi_numeri(float* a,float* b); - carlduke - 03/02/11 16:03
non diciamo cavolate....il passaggio per riferimento non è sbagliato. Si può usare tranquillamente ed è molto usato. Ti conviene studiarti la differenza tra puntatori e reference.... - lorenzo - 03/02/11 16:45
scusate ma la rige leggi_numeri(float & a float& b) non è sbagliata,posso scegliere se usare il passaggio per riferimento o i puntatori - ciao888 - 04/02/11 15:30
non è sbagliata la funzione leggi - ciao888 - 04/02/11 15:35
però come mai?è che ho letto già sul libro di come funziona il passaggio per riferimento ma mi è difficile capire quando deve essere usato,in questo caso perchè non è necessario? - ciao888 - 02/02/11 21:37
perchè restituisci il valore con return - carlduke - 03/02/11 15:36