Hirdetés

Új hozzászólás Aktív témák

  • emitter

    őstag

    válasz thaler2 #913 üzenetére

    Hát így első ránézésre semmit! :DDD
    Egyrészt kihagytál pár case-t az ágakban:

    int main()
    {
    switch (5 / 2) {
    case 1: printf(''Morgo\n'');
    case 2: printf(''Tudor\n'');
    case 3: printf(''Vidor\n'');
    default: printf(''Hofeherke\n'');
    }



    Így már elvileg a 2. opciótírja ki, azaz ''Tudor'',
    mert ugye kiértéleki a switch() paraméterét, aminek egy kifejezésnek kéne lennie, de végülis egy szám is az, szóval 5/2=2 (2.5 kerekítve), azaz a 2. pontot fogja végigcsinálni.

    Viszont, mivel nem raktál minden egyes 'statement' (azaz opció) után egy break; utasítást, végre fogja hajtani a 3. és a default ágat is, vagyis a progi eredménye ez lesz:

    Tudor
    Vidor
    Hofeherke

    A helyes kód:

    int main()
    {
    switch (5 / 2) {
    case 1: printf(''Morgo\n''); break;
    case 2: printf(''Tudor\n''); break;
    case 3: printf(''Vidor\n''); break;
    default: printf(''Hofeherke\n''); break;
    }



    Egyébként itt tudsz a függvényről (és úgy általában a C-ről) többet megtudni: [link] AJÁNLOTT!

    Sok sikert!


    szerk: 8472: lassú voltam :(((

    [Szerkesztve]

Új hozzászólás Aktív témák