강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

ififi ifif님의 프로필 이미지
ififi ifif

작성한 질문수

홍정모의 따라하며 배우는 C++

4.6 문자열 std string 소개

[10:30]

작성

·

212

0

#include<iostream>

#include<string>

int main() {

using namespace std;

cout << "Your name? : ";

string name;

cin >> name;

cout << "Your age? : ";

string age;

cin >> age;

cout << name << " " << age << endl;

return 0;

}

1)

jack jack을 입력받았을 때 왜 마지막줄의

cout<<name<<"  "<< age<<endl; 

부분은 실행(출력)이 되지 않나요??

2)  

입력으로 j1 j2 j3를 입력했을 때 한줄씩 디버깅하면 변수값이 

age= j1, name=j2가 나옵니다.

 실행파일에서는 age가 j1, j2로 나오는 이유를 모르겠습니다. 

답변 1

0

안녕하세요?
강의에 설명되어 있습니다.(10:10~) 각각의 cin은 white space로 입력을 구분하며, 버퍼를 통해서 전달되기 때문에
1)
jack 을 cin >> name; 에서 받고,
나머지 jack 을 cin >> age; 에서 받는 것입니다.
cout 부분은 정상적으로 출력이 되기 때문에 jack jack이 출력된 것입니다.

2)는 같은 질문인데, 1)을 이해하셨다면 이해하실겁니다. 스스로 적용해볼 기회가 되었으면 좋겠네요.

ififi ifif님의 프로필 이미지
ififi ifif

작성한 질문수

질문하기