@8Mdoods

Почему появляется бесконечный вывод?

Если я введу достаточно большое число(например 1000000000), то появляется бесконечный вывод "Enter number: ", почему это происходит и как этого избежать?
#include <iostream>

int main() {
	using namespace std;

	short unsigned int user_num;
	do {
		cout << "Enter number: ";
		cin >> user_num;
	} while (user_num != 1);

	return 0;
}


Если пригодится, компилю так: g++ -Wall test.cpp -o test
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
@serhiops
Python/JavaScript/C++
тип short unsigned вмещает число от 0 до 65,535. Когда ты пытаешься впихнуть слишком большое число, то происходит переполнение. Это можно исправить если подберешь тип переменной побольше: unsignet long , long long и тд
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы