C nyelvben hogyan kell értelmezni és értéket adni ennek a függvénynek? A csillag miatt függvény pointer "félére" gondolnék, de azokat nem így szokták megadni.
float *conv(float *A, int C)
{
...
}
Vagyis egyszerűen arról van szó, hogy a függvényben lévő
....
return(C);
....
C váltózójának címét adja vissza?
Na, elemezzük ki, amit eddig tudunk.
Ez a függvény egy moslék.
- A neve semmit nem árul el arról, hogy mit csinál. Konvertál két számot egy számmá. Miért? Minek? Hogyan?
- A változónevek és típusok szintén tragikusak. A és C. Mi lett B-vel?? Miért fontos, hogy kimaradt? Miért vesz át egy float-ot cím szerint? Hatékonysági okból semmi értelme. Talán módosít rajta? Akkor miben különbözik a visszatérési értéktől?
- Float címével tér vissza. Miért? Miért nem jó egy sima float, pointerezés nélkül.
- Valahol van benne egy return C, ami sehogy sem felel meg a visszatérési típusnak...
Ezek alapján azt tudom mondani akár mi is ez a függvény nem szabad használni, mert valami hatalmas gányoló írta és kitudja mennyi szívás lesz még vele.
"Miért nem jó egy sima float, pointerezés nélkül."
Majd ha megtanultál programozni, akkor megtudod.
Ez egy konvolúciós példa program volt. Ott tűnt fel a kérdéses függvény. Megadom hol találtam, megköszönném ha ott ránéznél.
Dehogy "szopatlak".
Biztosan triviális a megoldás, de a függvény hívását nem tudom jól felírni, lényegében erre is kérdeztem rá.
Például:
float* a = &(3.3f);
float* f = conv(a, 787);
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!