Sztuczki i haczyki I

2008-06-04 | by muczachan |

Co poniższe wypisze:

int i = 0;
cout << ++i << ++i << ++i << endl;
i = 0;
cout << i++ << i++ << i++ << endl;

Twórcze rozwinięcie poprzedniej sugestii (by Kleofas).

W innej wersji:

i=0;
print ++i;
print i++;

  1. 10 Responses to “Sztuczki i haczyki I”

  2. By macabre13 on 2008-06-04 | Reply

    I co?

  3. By muczachan on 2008-06-04 | Reply

    I “co to wypisze”.

  4. By macabre13 on 2008-06-04 | Reply

    Zwracam honora, znowu dalem sie nabrac na ten sam chwyt z funkcja.

    Proponuje podpowiedz
    i=0;
    printf(”%d%d%d\n”, ++i,++i,++i);
    i=0;
    printf(”%d%d%d\n”, i++,i++,i++);

  5. By macabre13 on 2008-06-04 | Reply

    Proponuje takze obejrzec wynik, przy roznych ustawieniach optymalizacji kodu.

    A tworce, prosze o podanie oczekiwanego wyniku :)

  6. By muczachan on 2008-06-04 | Reply

    (Ja nie twórca, ale zauważę tylko, że to nie pytanie testowe a pół-otwarte. Jak wszystkie sztuczki i haczyki na interwiu mają sprowokować kandydata do dyskusji/wynurzeń/komentarza. Nie wiem oczywiście czy taki był cel, ale tak jest.)

  7. By bif on 2008-06-04 | Reply

    c++ wypisuje 123, 012, jak by sie oczekiwalo

    c za to w zaleznosci od optymalizacji… przy -O0 123, 012, przy wiekszych 333, 012

    nie lubie kilka razy uzywac pre/post inkrementacji w jednym zdaniu

  8. By Kleofas on 2008-06-04 | Reply

    Spróbujcie dodać jeszcze do deklaracji zmiennej i słowo kluczowe volatile. Do tego proponuję postestowanie z kompilatorem Microsoftu i g++ na przykład.

  9. By macabre13 on 2008-06-06 | Reply

    A to ciekawe, bo u mnie bez optymalizacji pojawilo sie:
    321
    333

  10. By kasia on 2009-05-26 | Reply

    Do bif: od kiedy to strumienie cout sa dostepne w C? ;)

  11. By szymon on 2009-06-07 | Reply

    przecież to oczywiste. będzie undefined behaviour… wynik będzie dowolny zależnie od fazy księżyca :)

Post a Comment