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.

A függvény maga

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.

Kapcsolódó cikkek