강의

멘토링

커뮤니티

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

전선생님의 프로필 이미지
전선생

작성한 질문수

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

4.6 문자열 std string 소개

안녕하세요 교수님

작성

·

259

2

 

이름과 나이를 입력받는 구간에서 

#include <iostream>

#include <string>

 

using namespace std;

int main()

{

string name;

char age;

cin >> name;

cin >> age;

cout << "이름은 " << name << endl;

cout << "나이는" << age << endl;

 

return 0;

}

 

라는 코드 즉, 나이를 char로 받을 경우 문자열 하나만 인식해서 28을 넣어도 2로 인식이 되더라구요. char이 이전 까지는  -128 ~ 127의 범위를 가지는 것인줄 알았는데 

제가 cin에서 입력하는것이 문자열로 인식이 되어서 그렇다고 하기엔

 

int age 로 정의하면 아무 문제가 없어서 문의드립니다.

 

어떤 이유로 char age 에서 한자리 밖에 출력이 안되는지 질문 드립니다.

항상 감사드립니다.

답변 1

2

홍정모님의 프로필 이미지
홍정모
지식공유자

좋은 의문을 가지셨네요. cin이 char type을 '글자 하나'로 생각하기 때문입니다. 뒤에 가면 << operator를 overloading하는 방법을 배우시게 되는데 도움이 될겁니다. 

전선생님의 프로필 이미지
전선생

작성한 질문수

질문하기