@ilyageekdays

Почему код выдаёт неправильный результат?

x = 0;
y = -200;

x = 0 * x + 1 * y
y = -1 * x + 0 * y

По моей логике, я должен получить x = -200; y = 0. Почему я получаю результат x = -200; y = 200? Я полнейший новичок в JS и не знаю даже базовых особенностей синтаксиса языка. Подскажите пожалуйста, буду превелико благодарен.
  • Вопрос задан
  • 125 просмотров
Решения вопроса 2
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Когда что-то не понятно, просто распишите каждый шаг, который происходит в программе:
// запомнили в x значение 0
x = 0;
// запомнили в y значение -200
y = -200;

// тут выражение из нескольких действий
x = 0 * x + 1 * y
// 1. вместо переменных подставим значения
// 0 * 0 + 1 * -200
// 2. посчитаем умножения
// 0 + -200
// 3. посчитаем сложения
// -200
// запомним -200 в x

// на этом этапе у нас в x запомнено -200 и в y тоже -200

// с этим проделайте по аналогии
y = -1 * x + 0 * y
Ответ написан
Комментировать
lastuniverse
@lastuniverse
Всегда вокруг да около IT тем
потому что ваш код эквивалентен этому :
x = 0;
y = -200;

x = 1 * y; // 1*(-200)
y = -1 * x; // 1*(-200) ведь Х уже -200


сделайте так
x = 0;
y = -200;

temp = x;
x = y; // -200)
y = -temp; // -0


а еще лучше так

x = 0;
y = -200;

[x,y]=[y,-x];
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы