강의

멘토링

로드맵

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

나그네님의 프로필 이미지
나그네

작성한 질문수

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

2.7 문자형 char type

2.7 글자가 3개인데 출력을 4번 하려고 하는 경우

해결된 질문

작성

·

294

1

char c1(65);

cin >> c1;

cout << c1 << " " << static_cast<int>(c1) << endl;

cin >> c1;

cout << c1 << " " << static_cast<int>(c1) << endl;

cin >> c1;

cout << c1 << " " << static_cast<int>(c1) << endl;

cin >> c1;

cout << c1 << " " << static_cast<int>(c1) << endl;

 

이런 상황에서 선생님께서 글자가 3개인데 출력을 4번 하려고 하면 어떻게 되는지 복습하면서 알아보라고 하셔서 해보았습니다.

abc를 입력했더니 1, 2, 3번째 c1(a, b, c)이 순서대로 출력되고 4번째 글자의 입력을 기다리는 상태가 됩니다. 혹시 제대로 된 게 맞을까요?

답변 1

3

안녕하세요, 답변 도우미 Soobak 입니다.

'글자가 3개인데, 출력을 4번 하려고 하는 경우' 에 대해서 확인하기 위해서는 코드를 아래와 같이 수정하셔야 합니다.

#include <iostream>

int main() {
  using namespace std;

  char c1(65);

  cin >> c1;

  cout << c1 << " " << static_cast<int>(c1) << endl;

  cin >> c1;

  cout << c1 << " " << static_cast<int>(c1) << endl;

  cin >> c1;

  cout << c1 << " " << static_cast<int>(c1) << endl;

  cout << c1 << " " << static_cast<int>(c1) << endl;

  return 0;
}

컴파일 후, 출력을 확인해보시면 가장 마지막 값이 두 번 출력될 것입니다.

이는 변수 c1 이 마지막으로 입력받은 값을 유지하고 있으므로, 마지막 출력은 그 값을 다시 출력하기 때문입니다.

입/출력 결과를 첨부드립니다.

image

나그네님의 프로필 이미지
나그네

작성한 질문수

질문하기