Volání funkce s argumentem

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Zamčeno
Uživatelský avatar
Zeppelin
Level 3.5
Level 3.5
Příspěvky: 939
Registrován: 24 říj 2007 19:18

Volání funkce s argumentem

Příspěvek od Zeppelin »

Ahoj, jak prosím zavoláte funkci s dvěma argumenty?

Tady je vymyšlený příklad. Takhle to ale nefunguje :D Děkuju moc.

int One(int a, int b)
{
Two(int a = 5, int b = 7); // Zavolá funkci "Two" a předá jí hodnoty "a" a "b"
}

int Two(int a, int b)
{
a + b; // Tady sečte 5 + 7
}

Ty komentáře sdělují co bych chtěl a ne co to skutečně dělá
Intel Celeron G1840, 4GB RAM DDR3, MB Gigabyte H81-S2V, Asus GT610 1GB, SSD Kingston HyperX Fury 120GB, WD 500GB SATAII, Asus DVD-RW LightScribe, Fortron 350W

Jak označit téma za vyřešené
HiJackThis
Návod na údržbu systému pro začátečníky
General
nováček
Příspěvky: 49
Registrován: 10 lis 2010 20:21
Kontaktovat uživatele:

Re: Volání funkce s argumentem

Příspěvek od General »

Kód: Vybrat vše

int One(int a, int b) {
    return Two(a, b);
}

int Two(int a, int b) {
    return a + b;
}

int i = One(5, 7); //do proměnný "i" uloží 12

Takhle si to myslel? :D
Uživatelský avatar
Zeppelin
Level 3.5
Level 3.5
Příspěvky: 939
Registrován: 24 říj 2007 19:18

Re: Volání funkce s argumentem

Příspěvek od Zeppelin »

Nejsem si jistý že je to ono-já potřebuju zavolat funkci a předat jí hodnotu dvou proměnných-tohle to není ne?
Intel Celeron G1840, 4GB RAM DDR3, MB Gigabyte H81-S2V, Asus GT610 1GB, SSD Kingston HyperX Fury 120GB, WD 500GB SATAII, Asus DVD-RW LightScribe, Fortron 350W

Jak označit téma za vyřešené
HiJackThis
Návod na údržbu systému pro začátečníky
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7408
Registrován: 23 pro 2010 09:23

Re: Volání funkce s argumentem

Příspěvek od faraon »

Takže chceš aby funkce One předala funkci Two to co dostala do argumentů? A co pak udělá s vráceným výsledkem?

Kód: Vybrat vše

int two(int a,int b)
       {
       return a+b;
       }


Kód: Vybrat vše

int one(int a,int b)
       {
       int c;

       c=two(a,b);
       /* zpracovat c? */
       return c;
       }


Kód: Vybrat vše

int main(void)
        {
        int x;

        x=one(5,7);
        printf("%d\n",x);
        return 0;
        }
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)
Uživatelský avatar
Zeppelin
Level 3.5
Level 3.5
Příspěvky: 939
Registrován: 24 říj 2007 19:18

Re: Volání funkce s argumentem

Příspěvek od Zeppelin »

int a = 5; // Počáteční hodnota
int b = 7; // Počáteční hodnota


int One(int a, int b)
{
a++; // Tady se inkremnetuje proměnná a
b++; // Tady se inkremnetuje proměnná b

x = a + b; // Tady máme x = 6 + 8

Two(int a = 2, b = 4); // Tady voláme funkci Two s tím, že jí předáme jiné hodnoty obou proměnných
}

Nebo mám udělat? :

int a = 5; // Počáteční hodnota
int b = 7; // Počáteční hodnota

int One(int a, int b)
{
a++; // Tady se inkremnetuje proměnná a
b++; // Tady se inkremnetuje proměnná b

x = a + b; // Tady máme x = 6 + 8

a = 2;
b = 4;

Two(int a, int b); // Tady voláme funkci Two s tím, že jí předáme jiné hodnoty obou proměnných
}
Intel Celeron G1840, 4GB RAM DDR3, MB Gigabyte H81-S2V, Asus GT610 1GB, SSD Kingston HyperX Fury 120GB, WD 500GB SATAII, Asus DVD-RW LightScribe, Fortron 350W

Jak označit téma za vyřešené
HiJackThis
Návod na údržbu systému pro začátečníky
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7408
Registrován: 23 pro 2010 09:23

Re: Volání funkce s argumentem

Příspěvek od faraon »

V programu funkci voláš takhle:

vysledek=Two(a,b)

Nic víc není potřeba, hodnoty už máš v obou proměnných uložené, a jejich typ je udaný v deklaraci funkce, takže ho přece nebudeš vypisovat v každém volání, to bys to tam mohl mít také stokrát :wink:

Dokonce bys mohl napsat:

vysledek=Two(++a,++b)

Program by nejdřív inkrementoval obě proměnné, a teprve pak by s nimi zavolal tu funkci.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)
Uživatelský avatar
Zeppelin
Level 3.5
Level 3.5
Příspěvky: 939
Registrován: 24 říj 2007 19:18

Re: Volání funkce s argumentem

Příspěvek od Zeppelin »

OK, díky moc.
Intel Celeron G1840, 4GB RAM DDR3, MB Gigabyte H81-S2V, Asus GT610 1GB, SSD Kingston HyperX Fury 120GB, WD 500GB SATAII, Asus DVD-RW LightScribe, Fortron 350W

Jak označit téma za vyřešené
HiJackThis
Návod na údržbu systému pro začátečníky
Zamčeno

Zpět na „Programování a tvorba webu“