matematykaszkolna.pl
zadanie z infy seba: C/C++ Ktos by potrafil wyjasnic dlaczego z wychodzi −1? #include <stdio.h> int main(void){ int x,y,z; x=y=z=−1; ++x||++y&&z−−; printf("%d %d %d",x,y,z); return 0; }
22 sty 20:22
seba: a jak dam np 0 wychodzi: 1 0 0 wtfff
22 sty 20:28
Pytający: Jeśli masz a&&b, i jeśli a jest równe 0, to b się nie wykonuje, bo nie ma wpływu na wartość logiczną wyrażenia. Dlatego dla x=y=z=−1 otrzymujesz "0 0 −1". Jeśli masz a||b, i jeśli a jest równe 1, to b się nie wykonuje, bo nie ma wpływu na wartość logiczną wyrażenia. Dlatego dla x=y=z=0 otrzymujesz "1 0 0".
22 sty 22:49