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++;
10 Responses to “Sztuczki i haczyki I”
By macabre13 on 2008-06-04 | Reply
I co?
By muczachan on 2008-06-04 | Reply
I “co to wypisze”.
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++);
By macabre13 on 2008-06-04 | Reply
Proponuje takze obejrzec wynik, przy roznych ustawieniach optymalizacji kodu.
A tworce, prosze o podanie oczekiwanego wyniku
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.)
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
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.
By macabre13 on 2008-06-06 | Reply
A to ciekawe, bo u mnie bez optymalizacji pojawilo sie:
321
333
By kasia on 2009-05-26 | Reply
Do bif: od kiedy to strumienie cout sa dostepne w C?
By szymon on 2009-06-07 | Reply
przecież to oczywiste. będzie undefined behaviour… wynik będzie dowolny zależnie od fazy księżyca