Aiuto

di Anonimizzato18590 il
4 risposte
Ciao a tutti, la seguente sottofunzione prende i valori dal main e li calcola ricavando un risultato finale: il programma gira,ma restituisce un valore enorme,che credo sia l'indirizzo della cella di memoria in cui è allocato. chi sa darmi una mano?

#include<stdio.h>
#include<stdlib.h>

typedef struct{
int lato1;
int lato2;
}rettangolo;

int calcolaArea(rettangolo r);

int main(){
rettangolo r;
int lato1;
int lato2;
int area;

printf("Inserisci lato 1\n");
scanf("%d",&r.lato1);

printf("Inserisci lato 2\n");
scanf("%d",&r.lato2);

calcolaArea(r);

printf("%d\n",area);
system("pause\n");
return 0;
}

int calcolaArea(rettangolo r){
int area;
area = r.lato1*r.lato2;

return area;
}

4 Risposte

  • Nelle discussioni nel forum va sempre indicato

    1) un titolo che possa aiutare a capire in breve il problema (aiuto! non va affatto bene)

    2) il codice va sempre inserito tra tag code (per capirlo meglio)

    In caso contrario, si fa fatica a rispondere ....

    In ogni caso, manca questo

    area=calcolaArea(r);

    e queste linee

    int lato1;
    int lato2;

    sono inutili
  • Grazie mille. quindi prima di stampare il risultato di una funzione ogni qualvolta che la si richiama bisogna associare la variabile risultato alla funzione?

    ps. chiedo scusa per l'errata netiquette.
  • Certo. Una funzione che restituisce un valore deve poterlo fare in una variabile, altrimenti va perso.
  • Ho capito. Grazie ancora

    Inviato dal mio SM-G530FZ utilizzando Tapatalk
Devi accedere o registrarti per scrivere nel forum
4 risposte