Volání funkce s argumentem Vyřešeno

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

Uživatelský avatar
Zeppelin
Level 3.5
Level 3.5
Příspěvky: 939
Registrován: říjen 07
Pohlaví: Muž
Stav:
Offline

Volání funkce s argumentem

Příspěvekod Zeppelin » 04 črc 2011 16:35

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

Reklama
General
nováček
Příspěvky: 49
Registrován: listopad 10
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Volání funkce s argumentem

Příspěvekod General » 04 črc 2011 19:20

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: říjen 07
Pohlaví: Muž
Stav:
Offline

Re: Volání funkce s argumentem

Příspěvekod Zeppelin » 04 črc 2011 20:11

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: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Volání funkce s argumentem

Příspěvekod faraon » 04 črc 2011 20:30

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: říjen 07
Pohlaví: Muž
Stav:
Offline

Re: Volání funkce s argumentem

Příspěvekod Zeppelin » 04 črc 2011 20:45

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: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Volání funkce s argumentem

Příspěvekod faraon » 04 črc 2011 21:09

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: říjen 07
Pohlaví: Muž
Stav:
Offline

Re: Volání funkce s argumentem  Vyřešeno

Příspěvekod Zeppelin » 04 črc 2011 22:06

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


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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů