인프런 커뮤니티 질문&답변
안녕하세요 교수님
작성
·
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하는 방법을 배우시게 되는데 도움이 될겁니다.





