C++ 질문드려요

조회수 45회

C++ 최근에 시작한 초보인데요 궁금한점이 있어서 질문드려요

include <iostream>
using namespace std;
void main()
{
    int myage = 25;
    cout << "I am" << myage++ << "years old." << endl;
    cout << "You are" << ++myage << "years old." <<
        endl;
    cout << "She is" << --myage << "years old." << endl;
    cout << "I am" << myage-- << "years old." << endl;
}

이렇게 코드를 작성하면

I am 25 years old.
You are 26 years old.
She is 24 years old.
I am 25 years old.

제가 생각하기에 결과는 이렇게 나와야 하는걸로 알고 있는데

I am 25 years old.
You are 27 years old.
She is 26 years old.
I am 26 years old.

직접 출력 결과를 보면 위와같이 나오던데 이유가 뭔가요?

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    C언어에서 ++--는 증감연산자라고 해서 숫자를 1 증가시키거나 감소시키는 역할을 합니다.

    증감연산자가 변수 앞에 있을 경우에는 변수를 1 증가시키거나 감소시킨 후에 결과값을 전달하고, 변수 뒤에 있을 경우에는 현재 값을 먼저 전달한 후에 1을 증가시키거나 감소시킵니다.

    myage = 25
    myage++    // 현재 값인 25 출력하고 여기에 1을 더한 26 저장
    ++myage    // 현재 값에서 1을 더한 27 출력하고 27 저장
    --myage    // 현재 값인 27에서 1을 뺀 26 출력하고 26 저장
    myage--    // 현재 값인 26 출력하고 여기에 1을 뺀 25 저장
    

    따라서 아래의 결과대로 나오는 것이 맞습니다.

    • 아 그렇군요 저는 다 독립적으로 작동하는 건줄 알았네요. 덕분에 하나 더 알아갑니다 갑사합니다. SeungL11 2020.5.23 12:07

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.