[C] érték visszaadása függvényben?
C függvény, melynek 3 bemenő paramétere 3 valós szám. A függvény egy negyedik paraméterében adja vissza a bemenő paraméterek átlagát! A függvény visszatérési értéke pedig legyen az x^3+2y^2+3z képlet eredménye, (ahol x, y és z jelenti a három paramétert).
Ez van meg eddig:
double eredmeny(x, y, z, ?) {
return pow(x,3)+pow(2*y,2)+3*z;
}
A ? helyére kellene a negyedik paraméter, de hogy adok vissza értéket egy paraméterben? Órán nem volt szó ilyesmiről, meg akárhogy keresek a neten nem találok ilyen példát.
próbáld ki:
void valami(int* i) {
if (i != NULL) *i=5;
}
A main-ben:
int i;
valami(&i);
printf("%d", i);
Így jó lett, köszönöm szépen :D
double eredmeny(int x, int y, int z, double* atlag) {
if(atlag != NULL) {
*atlag = (x+y+z)/3;
}
return pow(x,3)+pow(2*y,2)+3*z;
}
main() {
double atlag;
double keplet = eredmeny(1, 1, 1, &atlag); //8
printf("%f", keplet);
}
" Nem tudom, hogy jön ide az, hogy szokás-e, vagy sem."
Úgy, hogy léteznek kódolási konvenciók, amelyeken ez a 'feladat' túlmutat. Vagy én értettem félre a kérdezőt, de az biztos, hogy a függyvényeknek lehet paraméterük és visszatérési értékük. A paraméterek a függvény bemenő adatai, amelyek feldolgozásával állítja elő a visszatérési értéket.
A kodolasi konvenciok peldaul a globalis valtozok keruleset is szoktak ajanlani. Tobbkimenetu fuggveny eseten duplikalod a kodod, vagy strukturaban adod vissza? Valamikor egyszerubb ha ilyen ordogi eszkozokhoz nyulsz.
Vagy egy csere-fuggveny hogyan nezne ki szerinted pointerek nelkul?
Sot, meg trivialisabb pelda: scanf("%f %f %f", &a, &b, &c);
Nezegesd nyugodtan a visszateresi erteket.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!