0
나는 이것에 대해 잘 모릅니다. 그래서 나는 그것을 설명하려고하는 약간의 코드를 썼다. cin
또는 getline
으로 입력을 요청하지 않았는데도 왜 숫자 나 문자를 저장할 수 있는지 궁금합니다. 내 제한된 지식으로 지금 당장 생각할 수있는 유일한 것은 "while (!(cin >> num1)
)"이지만 다시 while 루프가 조건을 실행하는 이유는 무엇입니까?cin, getline 등을 사용하지 않고 값을 저장하는 방법은 무엇입니까
#include <iostream>
#include <limits>
using namespace std;
int main()
{
int num1;
cout << "Please enter a number: ";
while (!(cin >> num1))
{
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
cout << "Invalid input. Try again: ";
}
}
을 종료 그렇지 않으면 모르는 것에 대한 여부 루프 본문을 입력하십시오. –
'while' 루프가 조건을 실행하는 것 이외에 무엇을 기대합니까? 루프에서 코드를 실행해야하는지 여부를 결정하기 위해 적어도 한 번 이상 조건을 실행하지 않은 while 루프를 작성해야하는 이유를 생각해 볼 수 있습니까? –
오, 고마워. 나는 항상 그 상태를 '확인'했다고 생각했다. 그렇게 정리해 줘서 고마워. –