A függvény maga
Miután a függvényfejlécben zárójelek írásbeli szervezetben a funkciót.
Itt látható, hogy ez a funkció működjön. Ha a funkciót kell vissza értéket a szervezetben a függvény szükségszerűen útikönyv visszatérés. A példánkban hiszen a fő funkciót kell visszatérési értéke int típusú, akkor a program hozta a képernyőn Hello World, írott sor return (0); Azaz, a függvény 0, a program okozta.
Határozza meg és írja le a funkciók már megtanult. Most intézkedik a program listában 10.1 függvényében, hogy vesz egy értéket int típusú 2, és amely nem ad vissza mást, mint a munkájuk következtében
void fun1 (int a, int b)
if ((a == 0) (b = 0)!) printf ( "nem megoldás \ n");
if ((a == 0) (b == 0)) printf ( "sok oldat \ n");
ha (b% a = 0!) printf ( "nem megoldás \ n");
Mint látható a címben meghatároztunk egy függvény nevű c fun1 hogy két argumentuma egész szám jellegű, és megadta nekik a neveket egyszerre a és b. Most a függvény belsejében tudjuk használni őket, mint a normál változók elemzi a és b. Az ismertetett paraméterek a fejlécben hívják a formális paraméterek a funkciót.
Írjunk egy programot, amely kinyilvánítjuk funkciót, és használja azt.
void fun1 (int a, int b)
if ((a == 0) (b = 0)!) printf ( "nem megoldás \ n");
if ((a == 0) (b == 0)) printf ( "sok oldat \ n");
ha (b% a = 0!) printf ( "nem megoldás \ n");
Elemezzük a kódot a program egy időben, és hogyan működik.
Az első sorban a stdio.h.
Következő, hogy függvényeket elemzi c fun1 hogy két argumentuma egész szám jellegű, és azonnal megadta nekik a nevét a és b. Ezután, a zárójelek ismertetett funkciót testet. Azaz mindkettő kell működnie a funkciót. Mivel a függvény visszatérési típus érvénytelen, nem adja vissza semmit, akkor, így nincs bevallásának a mi funkciót.
Miután a függvény törzsében fun1 állapítsa meg a fő funkciót. Állapítsa két változó int típusú. Ezt olvassuk őket az értékeket, amelyeket a felhasználói belép. Következő hívás fun1 funkciót, és adja át érvként x és y változót. Aztán megint hívjuk funkció, de add a számok 3. és 9. érvek.
Az eredmény ebben a programban, adatbevitel 2. és 5. alábbiakban mutatjuk be.

Vizsgáljuk meg, hogyan a függvényhívás. Kezdjük egy egyszerűbb, mi történik, ha írunk
Előbb létrehoz két integer elemzi a és b. Amelyek meghatározása a fejlécben. És értékeket rendel a = 3, b = végre 9.Dalee szervezet funkcióit. Miután a funkció befejeződött, a vezérlés visszakerül a fő program. És a és b változó eltávolítjuk. És végre sor követi a függvényhívás.
Vegye figyelembe, hogy miután a függvény befejezte a munkát, a változók és b eltávolítják. Ők csak a függvényen belül, amelyben bejelentették őket.
Most azt az esetet, az átutalás változók függvényében.
Előbb létrehoz két integer elemzi a és b. Amelyek meghatározása a fejlécben. Ezeket az értékeket a másolt változó értékeket adtak át a függvény paramétereit. Ezután szervezet működésében. Miután a funkció befejeződött, a vezérlés visszakerül a fő program. És a és b változó eltávolítjuk. És végre sort követően a függvényhívás
Megjegyezzük, hogy a funkció továbbítja nem az x és y, de csak a másolatait az értéküket. Ie azokat az intézkedéseket tett, majd egy funkció nincs hatásuk.
Egy másik fontos pont. Hatálya változók. Amint már említettük, a és b változók csak a függvényen belül, amelyben bejelentették őket. Körük fun1 szervezet funkcióit. Ezen túlmenően a funkció, ezeket a változókat nem léteznek.
Ebből az következik, érdekes tény. Például, ha átírjuk a kódot a program, mint ez.
void fun1 (int a, int b)
if ((a == 0) (b = 0)!) printf ( "nem megoldás \ n");
if ((a == 0) (b == 0)) printf ( "sok oldat \ n");
ha (b% a = 0!) printf ( "nem megoldás \ n");
Most, hogy már-már szakmai írás funkciók újra vissza fog térni, hogy mi az eredeti példa. Elérkeztünk arra a pontra, az oldatot készíteni függvényében, amelynek bemenete táplálja értékeket a és b. Listing 10.9.
Most újraírása funkciót úgy, hogy visszaadja az eredményt egész. Egyetértünk abban, hogy
30001 a válasz, hogy sok megoldás.
30002 van otvetno megoldást.
A számok nem véletlenszerűen választjuk. Field megoldások már -30.000-30.000, akkor ezeket a számokat nem lehet használni. egyébként az igazi válasz egybeeshet az egyiket. Például, ha sok megoldás kijelölt 3. Tehát akkor, ha a = 3, b = 9 válasz függvény visszatérési 3, de már megállapodtak abban, hogy ezt a sok megoldást. És ez nem világos, hogy mi lesz a válasz.
Átírási funkciója a következő:
int fun1 (int a, int b)
if ((a == 0) (b = 0)!) visszatérő (30002); // printf ( "nincs megoldás \ n");
if ((a == 0) (b == 0)) visszatérő (30001); // printf ( "sok oldat \ n");
ha (b% a = 0!) visszatérő (30002); // printf ( "nem megoldás \ n");
visszatérési (b / a); //printf(".\n",b/a);
Mivel a függvény visszatérési értéke int típusú, akkor lehet használni mindenütt, ahol a használata int megengedett. A mi példánkban rögzítette a printf. Annak ellenére, hogy először rendeljen hozzá egy értéket néhány változót, majd printf kibocsátás értékét.
int fun1 (int a, int b)
if ((a == 0) (b = 0)!) visszatérő (30002); // printf ( "nem megoldás \ n");
if ((a == 0) (b == 0)) visszatérő (30001); // printf ( "sok oldat \ n");
if (b% a = 0!) visszatérő (30002); // printf ( "nem megoldás \ n");
visszatérési (b / a); //printf(".\n",b/a);
By the way, ahogy észrevette, mi funkció néhányszor visszatér tapasztalható. Ez nem kötelező. Ez lehet az első értéket rendelni az egyetlen változó, majd megjeleníti a funkció végét. Általánosságban elmondható, hogy a célja az azonnali felmondásra a funkciót. Mivel a break utasítás ciklusokban. És ez így is használható funkciók, amelyek nem ad vissza semmilyen értéket.
Valamint a használó visszatérhet az értéket, amely vissza kell funkciót. Ezért ebben a példában alkalmazott.
Függvények hívhatják egymást, a lényeg, hogy meg sem születtek, mielőtt használja őket.
Mi fejlesztjük programot, és ellenőrizze, hogy helyesen jelenik meg, ha a program működik, vagy net.A leírni ezt még egy funkció úgynevezett Péld.
if ((fun1 (0,0) == 30001) (fun1 (0,3) == 30002) (fun1 (3,9) == 3) (fun1 (3,7) == 30002))
És hozzá, hogy a programot.