Я пытаюсь сделать простую программу, которая печатает число на оборотной стороне, у меня есть эти 2 функции:
void get_numbas(int numbah){
for(int i = 1; i <= 5; i++){
step1 = numbah % (int)pow(10,i);
step2 = step1/(int)pow(10,i-1);
std::cout << step2;
}
}
Мой ввод для второй функции 12345
, на второй итерации step1
должен стать 45
, я проверил на основной
int test = 12345;
int step1 = test % (int)pow(10,2); //45
Но когда я отлаживаю, на второй итерации я вижу, что step1
становится 69
(я понятия не имею, почему). Таким образом, мой ввод 12345
, и он должен изменить его на 54321
, но благодаря этому неуклюжему неверному вычислению на второй итерации он печатает 56321
(потому что он использует 69/10 вместо 45/10). У кого-нибудь есть идея, что происходит?
СКРИНШОТ МОЕГО ВЫХОДА