-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
입력받은 string이 출력되지 않는 문제에 대한 질문
21.07.13 14:11 작성 조회수 123
0
이 코드를 실행해서 순서대로
jack jack
22 22
를 입력하면
이렇게 출력되는데
왜 22이 한 개만 출력되는 궁금합니다.
답변을 작성해보세요.
1
안소
2021.07.13
25번째 줄에 cin >> age; 을 써주셔서 그렇습니다. (질문자님께서 실수로 안지우신 것 같네요! 강의에선 이 부분 주석처리 하셨습니다.)
22 22 중 하나는 cin >> age 를 통해 age 에 들어가고 (cin 은 공백 단위로 입력을 받습니다. 즉, 22 22 를 입력했다면 가운데 공백을 기준으로 앞에 22만 입력을 받습니다. 나머지 22 는 입력 버퍼에 남아있게 되구요!)
26번째 줄에 있는 getline 이 또 입력 버퍼에 남아있던 22 를 또 age 에 입력하기 때문에
결론적으로 22 22 입력 하나로
age = 22; // cin >> age
age = 22; // getline(cin, age)
이렇게 두번 대입이 일어난거에요. 그럼 age 값은 22죠!
cin >> age 지우시면 원하시는대로 출력 되실거에요
답변 1