"x = x++"하면 x의 값은 뭐가되나요?


int x = 7;
x = x++;

이런 코드가 있으면 무슨일이 벌어지나요? 변수가 연산후 증가 되고 자기자신에게 값을 할당하나요? 제가 컴파일 해보니까 x는 여전히 값이 7인데. 제 책에서는 x의 값이 증가된다고 나왔거든요... 뭐죠?

  • 2016년 01월 22일에 작성됨

조회수 325


1 답변


좋아요
1
싫어요
채택취소하기

x자체는 증가됩니다. 그러나 x는 자기자신에게 이전의 x값을 할당합니다.

x=x++; 라는 구문에서 x++는 x가 증가하지만 반환은 증가하기 이전의 x값을 반환합니다. 그래서 x=에서 x에 대입되는 값을 증가되기 이전의 x값인 7이 대입됩니다.

결론적으로 x는 증가되지만 x에 초기 x값을 대입하므로 값이 7이되는것입니다.

  • 2016년 01월 22일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close