我正在创建一个允许用户输入行星数据的程序。在这个函数中,我应该有3个指针参数,所以我可以将函数外部声明的变量的地址传递给指针,然后使用scanf将数据读入这些地址(以指针参数的形式)。
程序编译,但是当我输入新的行星数据时程序崩溃:(
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
运算符。