Aiuto

di il
4 risposte

Aiuto

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

  • Re: Aiuto

    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
  • Re: Aiuto

    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.
  • Re: Aiuto

    Certo. Una funzione che restituisce un valore deve poterlo fare in una variabile, altrimenti va perso.
  • Re: Aiuto

    Ho capito. Grazie ancora

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