2011-11-11 11 views
0

私は、ユーザーが惑星データを入力できるようにするプログラムを作成しています。この関数では、3つのポインタパラメータが必要です。関数外で宣言された変数のアドレスをポインタに渡し、次にscanfを使用してポインタパラメータの形式でこれらのアドレスにデータを読み込みます。新しいデータを関数内のポインタパラメータに読み込みますか?

プログラムをコンパイルするが、プログラムがクラッシュI入力新しい惑星データ:(

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

temp_x変数がすでにポインタではないので、scanf&演算子を使用する必要。

関連する問題