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