Eredmény értékek, programozás C és C
Minden funkció kivéve azokat a funkciókat, mint a void visszatérési értékeket. Ez az érték határozza meg a bevallását. Ha ez a funkció, amely nem minősül semmisnek, és hacsak visszatérési érték kerül visszaadásra törmeléket. Ha ez a funkció nem nyilvánították érvénytelennek, akkor lehet használni, mint egy operandus bármilyen érvényes kifejezés. Következésképpen az egyes alábbi állítások helyességét:
ha (max (x, y)> 100) printf ( "nagyobb");
a (ch = getchar (); isdigit (CH);). ;
Természetesen a funkció nem tudja állni a bal oldalon értékadó operátor. típusú operátor
csere (x, y) = 100; / * Érvénytelen operátor * /
rossz. A fordítóprogram hibát generál.
Ha a funkció nyilvánították érvénytelennek, akkor nem lehet használni a kifejezéseket. Tegyük fel például, hogy az f () nyilvánították semmisnek. Az alábbi állítások nem fordul le:
int t;
t = f (); / * Nem-érték t * hozzárendelés /
f () + F (); / * Nem értéket hozzáadni * /
Bár nem az összes funkciót egy void visszatérési értéke, ha írásban programok általában háromféle funkciót. Az első típus - egy olyan számítási funkció. Úgy tervezték, hogy műveleteket hajtson végre az érveket és visszaad egy értéket alapul ezeket a műveleteket. Példák az ilyen funkciók sqr () és sin () - standard könyvtár funkció.
A következő típusú funkció feldolgozza az információkat, és visszaad egy értéket, amely jelzi, hogy a munka sikeres, vagy hibát eredményezett. Ennek egyik példája a fwrite () - függvény használnak, hogy információt egy fájlban. Ha a bejegyzés sikeres volt, fwrite () visszaadja a tételek számát sikeresen rögzítette. Ha hiba történik, a visszatérő száma nem egyenlő a tételek számát kérte írandó.
Az utolsó típusa a funkció nincs meghatározott visszatérési értéke. A funkció egy rutin eljárás, és nem ad értéket. Erre példa a srand (), arra használjuk, hogy inicializálja a véletlenszám rand () függvény. Néha funkciókat nem kibocsátó értelmes eredményt, hogy néhány még mindig. Például a printf () visszaadja a karakterek száma nyomtatva. Nagyon nehéz megtalálni a program, amely ellenőrzi azt. Ezért, bár kivételével az összes funkció funkciók nyilvánították érvénytelennek, visszatérési értéke is van, nem kell használni az összes ezeket az értékeket. Egy tipikus kérdés a függvény visszatérési értéke „Nem kellene rendelni a változó értékét az érték jön vissza?” Válasz: „Nem”. Ha nincs megadva, amely hozzá van rendelve a visszatérési érték, akkor egyszerűen elmarad. Tekintsük a következő programot használva mul ():
int mul (int a, int b);
int mul (int a, int b)
vissza a * b;
>
1. sor készletek által visszaadott mul () értéke a z változó. A 2. sor, a visszatérési érték nem használjuk közvetlenül, hanem azt használják közvetetten printf () függvény. Végül a 3. sorban, a visszatérési érték elvész, mivel nem adunk értéket a változó, és azt is, hogy nem használják sem a kifejezéseket.