Dzień dobry! Mam taki kod, do przykładu:
#include <cmath>
#include <iostream>
double quadratic(double *x1, double *x2, double a, double b, double c) {
double delta = pow(b, 2.0) - 4 * a * c;
if (delta >= 0.0) {
*x1 = ((-1) * b - sqrt(delta)) / (2 * a);
*x2 = ((-1) * b + sqrt(delta)) / (2 * a);
}
return delta;
}
int main() {
double delta, x1, x2;
delta = quadratic(&x1, &x2, 1.2, 3.7, -4);
std::cout << delta << std::endl;
std::cout << x1 << " " << x2 << std::endl;
return 0;
}
Pytanie brzmi następujące. Funkcja main odwołuje się do funkcji quadratic z już podanymi danymi (czyli 1.2, 3.7, -4) ale ja nie rozumiem skont tak naprawdę funkcja quadratic zna że w tym miejscu gdzie deklarujemy double a, potrzebne podstawić 1.2, w double b - 3.7 itd. ? I czy to zawsze działa takim cudem?
P.S. Prosiłbym o przykładzie jeżeli jest to możliwe.
Dziękuję z gory!