Вот два одинаковых кода, но с разными параметрами функции, но они, похоже, выводят одни и те же вещи.
void get_rate_drop_factor(int *rate_ml, int *drop, int *drop_per_min)
{
printf("Enter rate in ml/hr=> ");
scanf("%d", rate_ml);
printf("Enter tubin's drop factor(drop/ml)=> ");
scanf("%d",drop);
*drop_per_min = (*rate_ml / 60) * *drop;
printf("The drop rate per minute is: %d\n\n", *drop_per_min);
}
из того, что я узнал, эти переменные с '*' в параметрах являются выходными параметрами.
void get_rate_drop_factor(int *drop_per_min)
{
int rate_ml, drop;
printf("Enter rate in ml/hr=> ");
scanf("%d", &rate_ml);
printf("Enter tubin's drop factor(drop/ml)=> ");
scanf("%d",&drop);
*drop_per_min = (rate_ml / 60) * drop;
printf("The drop rate per minute is: %d\n\n", *drop_per_min);
}
когда я вызываю функцию, эти два кода, кажется, выводят то же самое. Так, что именно '*' делает для параметров? Я не думаю, что я полностью понимаю концепцию параметров.
Пожалуйста, объясните хорошо, потому что я действительно хочу это изучить, и это действительно расстраивает.