
Сообщение от
John Prick
Ну с какого перепугу из одной цифры?? Обясни, почему ты так думаешь?
Добавлено через 5 минут
Конечно не правильно!
Вот цикл:
C++ |
1
2
3
4
5
| while (temp != 0)
{
b = b * 10 + temp % 10; //Переворачиваем число по цифрам
temp /= 10; //Отбрасываем последнюю цифру
} |
|
Итак, вводим 123. Поехали.
Начальные установки: b = 0, temp = 123;
1) b = b * 10 + temp % 10 = 0 * 10 + 123 % 10 = 0 + 3 =
3;
temp /= 10 = 123 / 10 = 12 // только целая часть остаётся, так как temp типа int
2) b = b * 10 + temp % 10 = 3 * 10 + 12 % 10 = 30 + 2 =
32;
temp /= 10 = 12 / 10 = 1;
3) b = b * 10 + temp % 10 = 32 * 10 + 1 % 10 = 320 + 1 =
321;
temp /= 10 = 1 / 10 = 0;
temp == 0 - выходим из цикла. Получили
b = 321. Чудо!
Все дошло теперь как программа считает. Я считал так (по примеру второй строки) b = b * 10 + temp % 10 =3*10+12%10= 42%10=2. Неправильно считал я. Спасибо за помощь!!