Porfavor, dá erro de segmentação nesse código.
Porfavor, vejam para mim:
#include "stdio.h"
#include "math.h"
typedef struct circulo TCirculo;
typedef struct ponto TCoord;
struct ponto{
float x;
float y;
};
struct circulo{
float raio;
TCoord *pCentro;
};
void lerCirculo(TCirculo *a);
int main(){
TCoord coord;
TCirculo circ1;
lerCirculo(&circ1);
}
void lerCirculo(TCirculo *a){
scanf("%f%f%f", &(a->raio), &(a->pCentro->x), &(a->pCentro->y));
}
acho que o erro está nas últimas linhas,
especificamente aqui:
scanf("%f%f%f", &(a->raio), &(a->pCentro->x), &(a->pCentro->y));
Porfavor, vejam aí!
Update:Muito boa sua resposta.
Eu não consegui alocar espaço para o pCentro, ainda estou descobrindo como, mas...
do outro jeito deu certo... valeu.
Copyright © 2024 1QUIZZ.COM - All rights reserved.
Answers & Comments
Verified answer
em:
struct circulo{
float raio;
TCoord *pCentro;
};
vc declarou um ponteiro TCoord mas nunca alocou espaço físico para ele
vc pode alocar no main usando circ1.pCentro = (TCoord*) malloc(sizeof(TCoord)); (precisa include stdlib.h) ou pode nao usar ponteiro neste caso, e lá embaixo usar a->pCentro.x e a->pCentro.y
10pts?