Сначала сделайте так, чтобы большее значение было в - PullRequest
1 голос
/ 07 мая 2020
if (b > a) {
int temp = a;
a = b;
b = temp; }

почему мне нужно сохранять a в b таким образом, чтобы убедиться, что большее значение находится в a, а не просто

if(b>a){ 
a=b; }

Это не работает, но я не Не понимаю, почему именно. Разве вы не пишете одно и то же выражение 3 раза?

Ответы [ 3 ]

2 голосов
/ 07 мая 2020

Два фрагмента кода, которые у вас есть, делают два разные вещи. Один меняет местами, другой назначает.

Поймите: замена двух значений не то же самое, что только присвоение одного значения другому.

1 голос
/ 07 мая 2020

Рассмотрим эту аналогию: у вас есть два ведра. Один наполнен маслом, а другой - водой. Как бы вы обменяли их содержимое? Вам понадобится третье пустое ведро.

Теперь замените ведро переменной, и вы получите ответ. Мы называем это заменой значений.

0 голосов
/ 07 мая 2020
if(b>a){ 
a=b; }

если a = 5 и b = 10 после выполнения вышеуказанного кода оба a и b будут 10, вы присваиваете значение b значению a, то есть вы будете потерять a навсегда. Представьте, что если вы хотите поменять яблоко на апельсин, вам нужно взять одно из них в руку, считая температуру своей рукой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...