• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

[10:30]

20.09.15 19:47 작성 조회수 118

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

Hello Yeo님의 프로필

Hello Yeo

2020.09.16

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

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