C++ 입력에 대한 질문
漂亮男人
漂亮男人 2017-07-03 11:42:01
0
2
876

다음과 같은 프로그램이 있습니다:

으아아아

큰 숫자(예: 99999999999, 실제로는 4바이트만 필요)나 문자를 직접 입력하면 다음과 같은 출력이 생성됩니다.

으아아아

이것을 어떻게 이해하나요?

C++ 초보자는 무릎꿇고 마스터에게 조언을 구하세요

漂亮男人
漂亮男人

모든 응답(2)
巴扎黑

타입 길이를 초과하는 데이터를 입력했기 때문에 cin은 실패 상태가 되어 향후 입력 작업이 수행되지 않습니다.
해당 변수를 초기화하지 않았으므로 모두 임의의 값입니다.
이때 cin.fail()은 true가 됩니다. 계속 입력하려면 cin.clear()가 필요합니다.

淡淡烟草味

Visual Studio를 사용하고 있나요?

입력한 매우 큰 숫자나 문자가 int 유형의 범위를 초과하여 정의되지 않은 동작이 발생합니다.

VS 2015의 C++ int 유형 범위는 -2147483648~2147483647입니다.

오버플로 발생 시 처리 방법은 컴파일러에 따라 다릅니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿