2011-11-11 3 views
0

나는 사용자가 행성 데이터를 입력 할 수있게 해주는 프로그램을 만들고있다. 이 함수에서는 3 포인터 매개 변수를 가져야하므로 함수 외부에 선언 된 변수의 주소를 포인터에 전달한 다음 scanf를 사용하여 포인터 매개 변수의 형태로 이러한 주소에 데이터를 읽습니다.함수 내에서 포인터 매개 변수로 새 데이터를 읽으십니까?

이 프로그램은 컴파일하지만, 프로그램이 충돌 나는 입력 새로운 행성 데이터 :(temp_x 변수가 이미 포인터

void new_planet_data(double *temp_mass, double *temp_radius, double * temp_density) 
{ 


    printf("Enter the planet's mass (earth = 5.9736e24): "); 
    scanf("%lf",&temp_mass); 

    printf("Enter the planet's radius (earth = 6.37101e6): "); 
    scanf("%lf",&temp_radius); 

    printf("Enter the air density (earth = 1.2):"); 
    scanf("%lf",&temp_density); 

    planet_mass = *temp_mass; 

    planet_radius = *temp_radius; 

    planet_density = *temp_density; 


} 
+0

디버거에서 프로그램을 실행 해 보셨습니까? –

답변

1

, 그래서 필요 scanf& 연산자를 사용하는 경우. 그래서

관련 문제