Member 12708652 Ответов: 1

Почему 7657 выходит на выход?


void main()
{ clrscr();
int i;
cout<<"Enter i";
cin>>i;
cout<<i;
getch();
}


Что я уже пробовал:

Когда я пытался ввести любой алфавит,он давал тот же результат, то есть 7657

[no name]

алфавит? i - это int. Как насчет того, чтобы ввести номер.

1 Ответов

Рейтинг:
4

Maciej Los

C++ очень специфичен...

Насколько я помню,   неинициализированные переменные могут привести к непредсказуемым результатам!!! 

Итак, вы должны установить начальное значение для i переменная. Вы можете сделать это в пределах одной строки, т. е.:

int i=0;


Я бы посоветовал почитать о тип литья[^]. Вы должны преобразовать char в целочисленное значение. Вы можете достичь этого с помощью функция atoi[^].

Для получения более подробной информации, пожалуйста, прочтите это:
Переменные и типы-учебники по C++ [^]


Member 12708652

Я знаю, что это int. Но просто ради забавы я ввел алфавит. Но выход идет только 7657. Просто хочу знать, где хранится алфавит и почему приходит этот вывод. Спасибо за ваш ответ.

[no name]

Прочтите ответ очень внимательно. Научитесь использовать отладчик.

Philippe Mori

Читать документацию: istream:: оператор>>. Вы можете позвонить cin.good() например, чтобы убедиться, что входные данные были прочитаны (и, следовательно, действительны).