Re: 심사문제 62.9
, Lee Jose님이 작성main안에
pos1=allocPoint3D(x,y,z);
로 allocPoint3D를 호출하고 전달인자는 float 3개인걸 볼수있어요.
또 여기서 allocPoint3D의 리턴형태가 포인터라는것도 알수있어요.
따라서 저는 함수선언부분에
struct Point3D * allocPoint3D(float a,float b,float c,){
와같이 잡아줬고요
나중에 printf에서 pos1->x, pos1->y, pos1->z로 접근을 할수있어야하는데
메모리가 없네요 메모리 할당해요.
void *ptr=malloc(sizeof(struct Point3D));
이후 하나씩 차곡차곡 넣어줍니다.
return ptr;
Re: 심사문제 62.9
, 도장_ 관리자님이 작성표준 입력과 표준 출력은 같습니다. 따라서 입력을 그대로 출력하는 코드를 작성하면 심사를 통과할 수 있기 때문에 main() 함수는 제시되어 있고, allocPoint3D 함수를 작성해서 심사를 통과하게 되어 있습니다.
main() 함수에 제시된 코드를 보면 allocPoint3D는 3개 좌표를 구조체에 넣어 반환하게 되어 있습니다.
main에 제시된 코드를 보면
scanf("%f %f %f", &x, &y, &z);x, y, z에 입력 받아서 그대로 전달합니다. 따라서 x, y, z를 저장하면 됩니다.
pos1 = allocPoint3D(x, y, z);
pos1의 타입은? 해당 타입의 멤버는?
심사문제 61.13과 비슷합니다. 정답 코드도 거의 같습니다. 61.13을 통과한 이력이 있습니다. 61.13을 다시 한 번 살펴보는 것도 도움이 될 겁니다.