• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

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

23.05.14 18:30 작성 조회수 186

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

답변을 작성해보세요.

2

Soobak님의 프로필

Soobak

2023.05.14

안녕하세요, 답변 도우미 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